org.myapp.mypackage
いくつかの ruby ファイル ( ) を含むパッケージがあり、Java クラス ファイルと同じパッケージ内*.rb
の生成されたビルド jar にそれらを含める必要があります。
友人のMavenにこれを行うように伝えるにはどうすればよいですか?
注:いいえ、他の場所にコピーすることはできませんが、提案してくれてありがとう. :)
<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
)も機能します。
問題を正しく理解しているかどうかはわかりませんが、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フォルダーの下に同じdir構造を作成します。