2008-09-28 39 views
8

Có ai đã xây dựng thành công một ứng dụng Adobe Air với Maven không? Nếu vậy, các bước để làm cho nó hoạt động là gì?Tôi có thể xây dựng dự án Adobe Air bằng Maven bằng cách nào?

Tôi đã cố gắng sử dụng flex-mojos để tạo ứng dụng Air. Khi tôi đặt loại đóng gói thành "aswf", như được đề xuất trong số DashboardSamplePom, Maven than phiền rằng aswf là loại bao bì không xác định. Tôi cũng tìm thấy air-super-pom của họ, nhưng không thể tìm ra cách để tham chiếu nó như là cha mẹ của POM của tôi.

Trả lời

2

Khi plugin tuyên bố loại bao bì mới, như 'aswf', bạn cần khai báo nó dưới dạng tiện ích mở rộng. Trong pom cấp cao nhất của bạn, hãy thêm phần tử extensions vào cấu hình plugin.

<plugin> 
    <groupId>...</groupId> 
    <artifactId>...</artifactId> 
    <extensions>true</extensions> 
... 
</plugin> 
1

Tôi cũng đang tìm kiếm câu trả lời cho vấn đề này. Có một vài trang web đã chứng minh hữu ích, mặc dù tôi chưa có giải pháp đầy đủ.

Kiểm tra những cho dẫn càng tốt:

AS cho các loại bao bì, hầu hết các thông tin mà tôi đã tìm thấy cho thấy rằng thay vì sử dụng aswf như các gói loại, bạn sẽ cần phải sử dụng swf và sau đó chuyển đổi các swf biên dịch vào thực thi không khí của bạn bằng cách tạo ra một thuế exec để gọi adt.jar Các liên kết ở trên sẽ cho bạn thấy làm thế nào để làm điều đó nhiều.

Đối với không khí siêu pom bạn tìm thấy, tôi nghĩ rằng có một vài người khác nhau ... Nhưng để sử dụng bất kỳ siêu pom, bạn cần phải có dự án flex maven của bạn tuyên bố siêu pom là cha mẹ, với một khối tương tự như sau:

<parent> 
    <groupId>org.sonatype.flexmojos</groupId> 
    <artifactId>flexmojos-air-super-pom</artifactId> 
    <version>3.1-SNAPSHOT</version> 
</parent> 

Tuy nhiên chỉ kéo dài pom mẹ có thể không đủ để có được xây dựng swf của bạn - một lần nữa, xem các liên kết ở trên cho một điều trị chi tiết hơn về vấn đề này.

-2

Trong trường hợp của tôi, tôi đã tạo một dự án maven mới bằng cách sử dụng mẫu nguyên mẫu org.graniteds.archetypes graniteds-tide-seam-jpa-hibernate và nhận được lỗi này. Tôi không biết gì về flex, nhưng chỉ đơn giản là muốn có một dự án mẫu bằng cách sử dụng Seam. Điều này có vẻ giống như một ứng cử viên tốt. Nhưng tôi nhận được

chưa biết loại bao bì: swf

mặc dù các < mở rộng > đúng < mở rộng > hiện diện trong definintion plugin của file POM tạo ra.

Tôi đọc ở một nơi khác rằng điều này yêu cầu phiên bản beta của maven. Tại sao heck là sonatype cho phép nguyên mẫu phụ thuộc vào phiên bản beta của maven trong kho của họ?

+0

Tôi không thấy như thế nào đây là một câu trả lời cho câu hỏi ban đầu ... – elevine

+0

đúng, tôi có nghĩa nó như là một lời nhận xét, không một câu trả lời. –

0

Tôi đã tạo mẫu AIR Maven, bạn có thể tìm thấy chi tiết trong dự án github này: https://github.com/branscha/tmplt-airapp. Câu hỏi khá cũ nên các phiên bản/khung trong giải pháp của tôi có thể không phù hợp với bạn nữa. Tình hình Flex/Air đã thay đổi rất nhiều trong những năm qua.

Đặc điểm của giải pháp của tôi:

  1. tôi sử dụng một Mavenized Apache SDK (13.0), bạn có lẽ nên làm như vậy điều cho các dự án của bạn được không phụ thuộc vào một kho Maven bên ngoài. Các thủ tục để mavenize SDK không phải là quá khó khăn.
  2. Flexmojos 6.0.1
  3. Ứng dụng hello-world có thể được chuyển thành ứng dụng Android .
  4. Bao bì là 'không khí' (iso aswf đã được đề cập ở trên)
Các vấn đề liên quan