2013-03-04 47 views
13

Tôi đang cố gắng tạo tệp EAR từ dấu nhắc lệnh. Tôi đã sử dụngcách tạo tệp tai và bao gồm tệp chiến tranh và tệp jar bên trong đó

jar -cvf myServletWAR.ear . 

Nhưng câu hỏi của tôi là, làm cách nào để có tệp EAR này có tệp WAR và tệp JAR bên trong?

Tôi có cần tạo tệp chiến tranh riêng và đưa vào tệp tai không?

Tôi không thể sử dụng tệp ANT cho điều này vì có rất ít hạn chế đối với dự án này.

+0

Bạn có sử dụng maven hoặc Eclipse IDE cho phát triển? –

+0

Thử sao chép tất cả các tệp (ví dụ: jars, wars, application.xml, v.v.) vào một số thư mục (ví dụ ~/temp/build_ear), và sau đó sử dụng lệnh tương tự mà bạn đã liệt kê ở trên, điều đó sẽ hoạt động. Nếu bạn cần một lớp lót, bạn có thể tập lệnh bash của bạn. – eitanfar

+0

là có thể với java ??? – wissem46

Trả lời

9

Một trong file EAR của tôi có cấu trúc như sau:

app.ear 
    - APP-INF 
    - lib 
     // libraries (.jar) here 
    - META-INF 
    - MANIFEST.MF 
    - weblogic-application.xml 
    - module1.war 
    - customlib.jar 

lưu trữ này đã được triển khai vào WebLogic 10.3.

Remeber .ear chỉ là một tệp ZIP, vì vậy bạn luôn có thể tạo nó theo cách này, mặc dù nó có vẻ lộn xộn.

5

kiểm tra nếu jar cmd đang làm việc nếu như vậy, tạo jar file lớp học của bạn và mô tả, vv

Sau đó jar -cvf <<earname>> <<files want to be in the ear >>

0

Nếu bạn muốn tạo một tai từ dòng lệnh, sau đây là các tùy chọn mà bạn có thể thử.

Tùy chọn 1. Sử dụng kiến ​​tạo kiến ​​và sử dụng tác vụ tai. Định cấu hình tác vụ tai này như được nêu trong stackoverflow question on ant ear task usage

Lưu ý: Xây dựng dựa trên Maven được ưu tiên hơn những ngày này.

Tùy chọn 2. Nếu bạn có thể sử dụng maven, configure your modules and use maven ear plugin để tạo tai. Lệnh dưới đây sẽ có thể tạo ra tai.

mvn clean package 

Tham khảo câu hỏi về maven liên quan đến dự án Java EE để biết thêm information on configuring war, jars for an ear.

+0

là có thể với java ??? – wissem46

+0

Ý của bạn là gì? Bạn có hỏi liệu việc tạo tai có thể được thực hiện bằng cách sử dụng lệnh 'java jar' không? Nếu có, vâng. Nhưng mọi người thường sử dụng maven build để tạo tai. –

0

Nếu bạn đã tạo một ứng dụng khách và EJB cùng nhau, chúng sẽ tự động được đóng gói thành tệp lưu trữ của doanh nghiệp (.ear) và bạn không cần thực hiện việc này.Nếu không:

  • Đóng gói tệp .jar của EJB thành tệp .ear cho đơn đăng ký của bạn. Để thực hiện điều này sử dụng một lệnh jar tương tự như sau:
jar -cvf myApplication .ear myService.jar 

Nếu bạn có một khách hàng .WAR nộp bạn có thể thêm rằng vào file .ear trong cùng một cách.

  • Tạo một application.xml mô tả triển khai hoặc sử dụng công cụ
    ứng dụng máy chủ của bạn hoặc bằng cách sao chép và chỉnh sửa mẫu, như
    sau:

  • Xác định vị trí một .ear mẫu, mà là ở ví dụ thư mục trong

mapdemo/mapdemo/repos/myService.deploy/JMapServ-WL.ear 
  • Giải nén application.xml mô tả từ file .ear, sử dụng lệnh jar sau:

jar -xvf JMapServ-WL.ear META-INF/application.xml

  • Tạo bản sao của bộ mô tả application.xml và chỉnh sửa nó, thay thế JMapServ bằng tên tệp .jar của bạn. Bạn cũng có thể thêm tên tệp .war của mình nếu bạn đã thêm tệp đó vào tệp .ear.

  • Đặt bộ mô tả trong thư mục con meta-inf của thư mục chứa tệp .ear của bạn.

  • trọn gói các mô tả vào tập tin .ear của bạn bằng cách sử dụng lệnh jar tương tự như:

jar -uvf myService.ear META-INF/application.xml 
+0

là có thể với java ??? – wissem46

Các vấn đề liên quan