私の問題は、ファイルが出力ディレクトリに存在しない場合に限り、.jar
ファイルからmavenでファイルを抽出したいということです。だから私はファイルがある場合/src/META-INF/beans.xml
persistence.xml
などを抽出しただけですMaven-dependency-plugin:overWrite = falseが無視されました
悲しいことに、maven-pluginは私が試した<overWrite>false</overWrite>
のすべての組み合わせを告発します。
質問:私は何を間違えていると思いますか?出来ますか?
<build>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>unpack</id>
<phase>validate</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId> ... </groupId>
<artifactId> ... </artifactId>
<version>${project.version}</version>
<outputDirectory>${basedir}/src/META-INF</outputDirectory>
<includes>beans.xml,persistence.xml</includes>
<overWrite>false</overWrite>
</artifactItem>
</artifactItems>
<overWriteIfNewer>false</overWriteIfNewer>
<overWrite>false</overWrite>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteReleases>false</overWriteReleases>
</configuration>
</execution>
</executions>
</plugin>
...
</build>
なぜ 'src/META-INF'に書き込む必要がありますか?なぜ 'src/main/resources/META-INF'を使っていないのでしょうか?これはどんな目的ですか? – khmarbaise
私はコードジェネレータを書いています。ジェネレータは、手書きのコード(および設定)を考慮に入れることができます。 'pom.xml'には、モデルをとり、そこからコードを生成し、生成されたコードをコンパイルする(手書きコードを考慮して)、maven-projectの問題があります。生成されたコードは 'gen /'に入れられ、手書きのコードは 'src'にあると予想されます。私は何も与えられていない場合、デフォルト設定ファイルを使用したいと思います。だから私はそれらが存在しない場合にのみ抽出したいのです。 – user3637541