2011-07-18 31 views
5

Có một tùy chọn archiveClasses trong maven-war-plugin, gói tất cả các lớp trong một tệp .jar và sau đó tạo tệp .war với jar đó trong thư mục lib /.Maven war plugin: archiveClasses không có tài nguyên lưu trữ

Tôi cần phải làm tương tự, nhưng để lại tệp tài nguyên trong thư mục lớp học, để chúng vẫn có thể truy cập được từ đường dẫn lớp nhưng dễ sửa đổi.

Cách dễ nhất để làm điều đó là gì?

Trả lời

0

Bạn chỉ có thể chỉ định vị trí của các tài nguyên đó. Nó thường trông trong src/main/nguồn lực cho các nguồn lực, nhưng nếu bạn cần đến chúng trong cây nguồn java bạn có thể thử:

+0

Không. Chúng chính xác trong src/main/resources, nhưng tôi chỉ muốn chúng được đóng gói vào các lớp/thư mục bên trong tệp .war, trong khi các tệp .class của Java phải nằm trong thư mục .jar trong lib /. – weekens

4

Có lẽ bạn có thể thử để cấu hình thư mục tài nguyên của mình như một WebResource trong cấu hình Plugin .

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <archiveClasses>true</archiveClasses> 
     <webResources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <targetPath>WEB-INF/classes</targetPath> 
       <filtering>true</filtering> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 
+0

Nó hoạt động, nhưng tài nguyên cũng được nhân bản trong một cái bình. – kolobok

0

bạn có thể làm như thế này để giải quyết vấn đề:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <warName>${project.war.name}</warName> 
     <warSourceExcludes>**/*.class</warSourceExcludes> 
     <archiveClasses>true</archiveClasses> 
    </configuration> 
</plugin> 
2

Một câu trả lời dòng: Không có tùy chọn được cung cấp trong maven-war-plugin để loại trừ các nguồn lực từ jar tạo sử dụng archiveClasses cờ .

Cách giải quyết có thể và dễ dàng nhất cho vấn đề này là di chuyển các tệp hiện có trong thư mục src/main/java/resources tới thư mục src/main/java/webapp/WEB-INF/classes.

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