2012-05-01 30 views
6

Tôi có gói org.myapp.mypackage với một số tệp ruby ​​(* .rb) và tôi cần đưa chúng vào jar xây dựng được tạo trong cùng một gói cùng với tệp lớp java. Làm thế nào để tôi nói với bạn tôi Maven để làm điều này?Làm cho maven sao chép các tệp bổ sung bên trong jar xây dựng (không phải tài nguyên nhưng bất kỳ tệp nào bên trong gói nào)?

OBS: Không, tôi không thể sao chép sang bất kỳ nơi nào khác, nhưng cảm ơn vì đã đề xuất. :)

Trả lời

6

Bạn có thể sửa đổi phần tài nguyên của các bit <build> của POM:

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    </resource> 
    <resource> 
    <filtering>false</filtering> 
    <directory>src/main/java</directory> 
    <includes> 
     <include>*.rb</include> 
    </includes> 
    <excludes> 
     <exclude>**/*.java</exclude> 
    </excludes> 
    </resource> 
</resources> 

Hoặc, câu trả lời khác (tạo cấu trúc cùng một gói trong src/main/resources) cũng sẽ làm việc.

-1

Đặt chúng vào đúng thư mục (src/main/resources nói chung) và chúng nên được đóng gói vào Jar đúng cách. Để đưa các tệp * .rb của bạn tạo cấu trúc thư mục giống nhau trong thư mục src/main/resources.

2

Không chắc chắn nếu tôi hiểu vấn đề một cách chính xác, nhưng nếu các tập tin của Ruby của bạn được đóng gói bởi maven và khai báo là một sự phụ thuộc, bạn có thể sử dụng shade plugin để bao gồm các nội dung vào kết quả các tập tin jar:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>1.4</version> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      <configuration> 
       <artifactSet> 
        <includes> 
         <include>org.myapp.mypackage:mypackage</include> 
        </includes> 
       </artifactSet> 
       <filters> 
        <filter> 
         <artifact>org.myapp.mypackage:mypackage</artifact> 
         <includes> 
          <include>org/my/package/*.rb</include> 
         </includes> 
        </filter> 
       </filters> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
Các vấn đề liên quan