[英]Making maven copy additional files inside the build jar (not resources but any file inside any package)?
我有一個帶有一些ruby文件( *.rb
)的org.myapp.mypackage
包,我需要將它們與java類文件一起包含在同一個包中生成的構建jar 中 。
我怎么告訴我的朋友Maven這樣做?
注意:不,我無法復制到其他任何地方,但感謝您的建議。 :)
您可以修改POM的<build>
位的resources部分:
<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>
或者,另一個答案(在src/main/resources
創建相同的包結構)也將起作用。
不確定我是否正確理解了問題,但如果您的Ruby文件由maven打包並聲明為依賴項,則可以使用shade插件將內容包含在生成的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>
將它們放在正確的目錄(一般是src / main / resources)中,它們應該正確捆綁到Jar中。 要把* .rb文件放在src / main / resources文件夾下創建相同的目錄結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.