我有一個org.myapp.mypackage包含一些ruby文件(* .rb),我需要將它們與java類文件一起包含在生成的構建jar 中的相同包中。我如何告訴我的朋友Maven做這件事?在構建jar中創建maven副本附加文件(不包括任何包中的任何文件資源)?
OBS:不,我不能複製到其他地方,但謝謝你的建議。 :)
我有一個org.myapp.mypackage包含一些ruby文件(* .rb),我需要將它們與java類文件一起包含在生成的構建jar 中的相同包中。我如何告訴我的朋友Maven做這件事?在構建jar中創建maven副本附加文件(不包括任何包中的任何文件資源)?
OBS:不,我不能複製到其他地方,但謝謝你的建議。 :)
您可以修改<build>
位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>
或者,對方的回答(創建src/main/resources
相同的封裝結構),也可以工作。
把它們放在正確的目錄(src/main/resources一般)和 它們應該被合併到Jar中。要將* .rb文件放在src/main/resources文件夾下創建相同的目錄結構。
不知道如果我理解正確的問題,但是如果你的Ruby文件由Maven的包裝和聲明爲依賴 ,您可以使用shade plugin到 內容包括到生成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>