2015-10-13 23 views
9

Tôi có một dự án Maven với một dự án cha-pom và 3 dự án mô-đun maven trong đó. 2 trong số các mô-đun là các ứng dụng web Java-EE biên dịch thành các tệp WAR. 1 trong số các mô-đun chứa mã JAVA chung được chia sẻ giữa 2 dự án khác. Việc chia sẻ mã JAVA thật dễ dàng.Chia sẻ tài nguyên tĩnh giữa các mô-đun maven

Câu hỏi tôi có là cách chia sẻ các tài nguyên tĩnh phổ biến như JavaScript, CSS và các tệp hình ảnh mà không cần sao chép chúng trong từng mô-đun web? Tôi cũng muốn làm điều đó theo cách mà tôi có thể tiếp tục chạy ứng dụng web từ Eclipse và có những thay đổi mà tôi thực hiện đối với các tệp tĩnh tự động có sẵn cho máy chủ đang chạy của Eclipse.

Trả lời

4

Hãy thử điều này:

1.

|-- pom.xml 
    |-- appsweb1 (war) 
    |-- appsweb2 (war) 
    |-- common (jar) 
     |-- src/main/java 
     |-- src/static_files 
     |-- pom.xml 
  1. Thêm vào appsweb1 pom, appsweb2, hoặc thêm nó vào pom phụ huynh và chỉ cần thêm groupId, artifactId ở trẻ :
<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.4.2</version> 
     <executions> 
      <execution> 
       <id>default-copy-resources</id> 
       <phase>process-resources</phase> 
       <goals> 
        <goal>copy-resources</goal> 
       </goals> 
       <configuration> 
        <overwrite>false</overwrite> 
        <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/static_files</outputDirectory> 
        <resources> 
         <resource> 
          <directory>../common/src/main/static_files</directory> 
         </resource> 
        </resources> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 
</plugins> 

Tài liệu về Plugin Tài Maven: https://maven.apache.org/plugins/maven-resources-plugin/

+0

Tôi có phải chạy nó mỗi lần tôi chỉnh sửa các tệp tĩnh hoặc Eclipse đủ thông minh để tự động di chuyển tệp bất cứ khi nào nó thay đổi? Tôi lo lắng về việc có thể phát triển/thử nghiệm những thay đổi mà tôi thực hiện đối với các tệp. – Eric

+1

U có thể sử dụng WebJars –

+0

Tôi quen thuộc với việc sử dụng/tạo tệp WAR, nhưng tôi chưa bao giờ nghe nói về WebJars. Bạn có thể chỉ cho tôi một ví dụ hoặc tài liệu về cách sử dụng nó không? – Eric

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