以下に示すように、Maven アセンブリでは、ベース ディレクトリを再含めて再帰が発生します。
以下は実際には失敗し、CPU を消費し、返されません。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>deploy</id>
<baseDirectory>hive</baseDirectory>
<includeBaseDirectory></includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}/lib</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}</directory>
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
<files>
<file>
<source>${basedir}/target/${project.build.finalName}.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
</assembly>
代わりにベース ディレクトリが含まれていない場合は、lib/* の下のファイルが適切に含まれており、アセンブリは成功しています。だから..ここで適切な構文は何ですか? ありがとう!
以下は、出力zipをビルドしますが、ベースディレクトリにファイルがないため、不完全です:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>deploy</id>
<baseDirectory>hive</baseDirectory>
<includeBaseDirectory></includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}/lib</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
</fileSets>
<files>
<file>
<source>${basedir}/target/${project.build.finalName}.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
</assembly>