Tôi có một dự án WAR rất đơn giản và tôi muốn bao gồm một thư mục có tên META-INF
ở đầu thư mục đầu ra của lớp. Tôi đang sử dụng Maven, nhưng dường như Maven mặc định sẽ không bao gồm bất kỳ thứ gì không phải là một lớp Java. Vì vậy, nó bỏ qua thư mục META-INF
của tôi đang nằm ở đầu thư mục src
. Thư mục META-INF
chứa tệp có tên persistence.xml
. Bất kỳ gợi ý nhanh nào về cách hướng dẫn Maven đưa thư mục và tệp này vào thư mục đầu ra?Maven: Bao gồm thư mục META-INF trong thư mục lớp học
Trả lời
Tôi sẽ trả lời gián tiếp câu hỏi của bạn bằng cách nói rằng nếu bạn đã thực hiện bước nhảy tới Maven2, tôi chắc chắn khuyên bạn nên sử dụng Plugin Archetype. Sử dụng mẫu webapp sẽ đảm bảo bạn kết thúc với cấu trúc thư mục chuẩn. Bất cứ ai khác nhìn vào nguồn của bạn sẽ ngay lập tức biết được mọi thứ ở đâu và sẽ không có bất kỳ câu hỏi nào về vị trí tệp của bạn.
Nói chung, đối với dự án Maven dựa trên Java, các tệp không phải nguồn phải nằm trong thư mục con src/main/resources
của dự án. Nội dung của thư mục resources
được sao chép vào thư mục đầu ra (theo mặc định, target/classes
) trong giai đoạn quy trình nguồn lực của bản dựng.
Đối với dự án Maven WAR, nó phức tạp hơn một chút: đó cũng là thư mục src/main/webapp
, trong đó Maven sẽ tìm thấy WEB-INF/web.xml
. Để xây dựng tệp WAR của bạn, tệp đó phải tồn tại; nếu không, bạn sẽ thấy một thông báo lỗi như thế này:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
Như thư mục WEB-INF
phải tồn tại dưới src/main/webapp
, tôi khuyên bạn nên tránh định nghĩa nó một lần nữa trong src/main/resources
. Mặc dù điều này là hoàn toàn hợp lệ và nội dung của hai thư mục sẽ được hợp nhất, nó có thể gây nhầm lẫn nếu một tệp được định nghĩa trong cả hai. Nội dung của src/main/resources
sẽ được ưu tiên khi chúng được sao chép trên đầu nội dung từ src/main/webapp
.
Tôi yêu bạn! – willcodejavaforfood
Bài đăng của bạn giải quyết được lỗi của tôi! Cảm ơn! Cho bạn! –
Vì vậy, đã làm của tôi, công việc tốt buddy – myro
Cho mục dưới đây trong pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!--webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory-->
<packagingExcludes>**/web.xml</packagingExcludes>
</configuration>
</plugin>
Đặt này vào pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
Bạn nên thêm một số văn bản meta – keyser
- 1. Maven - cách bao gồm các thư mục trống
- 2. Java Jar Ant bao gồm thư mục
- 3. Cách nhận tệp trong thư mục, bao gồm tất cả các thư mục con
- 4. bao gồm các tệp tiêu đề - liên quan đến thư mục hiện tại hoặc để bao gồm các thư mục?
- 5. Cmake: Xây dựng thư mục trong đường dẫn bao gồm
- 6. bao gồm tập tin .php trong thư mục trên
- 7. Microsoft.Office.Interop.Excel.dll không được bao gồm trong Thư mục Xây dựng
- 8. Bao gồm thư mục trong dự án thiết lập
- 9. Làm cách nào để bao gồm một thư mục trống trong một cụm maven?
- 10. rsync loại trừ một thư mục nhưng bao gồm một thư mục con
- 11. Thư mục "Classes-1.moved-aside" trong thư mục Lớp học của tôi là gì?
- 12. Thư mục sao chép iOS bao gồm các thư mục con
- 13. Thư mục phụ nén của Unix không bao gồm thư mục mẹ
- 14. PHP bao gồm bên trong một bao gồm (thư mục khác nhau)
- 15. Symfony bao gồm một phần từ thư mục tùy chỉnh
- 16. cmake bao gồm h tệp từ các thư mục khác
- 17. Cấu trúc thư mục Maven
- 18. Nosetest bao gồm các thư mục mẹ không mong muốn
- 19. danh sách các lớp học theo thư mục/thư mục bằng cách sử dụng doxygen?
- 20. Ant - Java - zipfileset - không bao gồm một thư mục
- 21. maven2: không bao gồm thư mục từ WAR
- 22. lấy phần chính của url bao gồm thư mục ảo
- 23. Bao gồm một thư mục sử dụng Pyinstaller
- 24. Twig- Bao gồm mẫu từ thư mục khác
- 25. Bao gồm thư mục trống với python setup.py sdist
- 26. Node-gyp Bao gồm và Thư mục Thư viện với Boost
- 27. Tệp Android.mk - bao gồm tất cả các tệp nguồn trong các thư mục và thư mục khác nhau
- 28. Cách đếm tất cả các tệp trong một thư mục, thư mục con của nó và tất cả. Số đếm không được bao gồm số thư mục
- 29. Di chuyển thư mục từ thư mục này sang thư mục khác trong tập lệnh batch
- 30. Khác biệt giữa hai cây thư mục để tạo bản vá mức tệp/thư mục (bao gồm tệp nhị phân)
Great câu hỏi, cảm ơn. –