それらが の下にある場合src/main/java
、それらは自動的にコンパイルされますが、これは必要なものではありません。私の解決策は、そのディレクトリをリソースフォルダーとしてシミュレートすることでした。つまり、次のようになります。
- その特定のフォルダーを無視するようにコンパイラープラグインを構成します
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<excludes>
<exclude>crash/commands/*</exclude>
</excludes>
</configuration>
</plugin>
- ターゲットディレクトリ内の通常のリソースと同じようにファイルをコピーします
<resource>
<directory>src/main/java/crash/commands</directory>
<targetPath>crash/commands</targetPath>
<filtering>false</filtering>
</resource>
マイナーアップデート & 免責事項:
すでにご存知かもしれませんが、ログイン/ログアウト時に実行されるクロージャがいくつかあります。少なくとも、私が盲目的に spring-boot から継承している v1.3.1login.groovy
では、クラスパスで最初に見つかったものを選択します。私のプロジェクトのアーティファクトは、他のすべての依存関係とともに RPM にパッケージ化されています。その名前は で始まるため、デフォルトが存在する場所のr
後crash.shell-1.3.1.jar
に続きます。そのため、次の小さなハックを実行して、デフォルトのスクリプトではなく独自のスクリプトを取得する必要がありました。
<!-- hack to make CRaSH pick up login.groovy from our jar instead of the default one -->
<finalName>0_${project.artifactId}-${project.version}</finalName>