私は他のJARにいくつかの依存関係があるプロジェクトを持っています。現在、JavaDocプラグインとアセンブリプラグインを使用して、自分のプロジェクトの.zipを生成します。これには、Jar、依存関係Jars、およびjavadocが含まれています。Maven:jar-with-dependencies + JavaDoc
しかし、関連するJavaDocと一緒に.zip内に1つのJarだけがあるように、私は事をボイルしたいと思います。私はアセンブリプラグイン+ jar-with-dependenciesはこれのための私の友人だと知っていますが、私はJavaDocと一緒にこのjarを含む.zipをパッケージ化できるように、どうすればそれを動作させるのですか?以下の私のポンポンの
関連部品:
<properties>
<assemblyJar>${project.build.finalName}.jar</assemblyJar>
<assemblyJwd>${project.build.finalName}-jar-with-dependencies.jar</assemblyJwd>
<java.code.version>1.4</java.code.version>
</properties>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version> <!-- 2.3 might be needed -->
<configuration>
<descriptors>
<descriptor>src/assembly/dist-jwd.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-jwd</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version> <!-- 2.3 might be needed -->
<configuration>
<descriptors>
<descriptor>src/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
のdist-jwd.xmlの関連部品:dist.xmlの
<id>dist-jwd</id>
<includeBaseDirectory>true</includeBaseDirectory>
<files>
<file>
<fileMode>444</fileMode>
<source>target/${assemblyJar}</source>
<outputDirectory></outputDirectory>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>compile</scope>
<excludes>
<exclude>javax.servlet:servlet-api</exclude>
</excludes>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
</dependencySets>
や関連部品:
<id>dist-zip</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<fileMode>444</fileMode>
<directory>target/site/apidocs</directory>
<outputDirectory>javadoc</outputDirectory>
</fileSet>
</fileSets>
<files>
<file>
<fileMode>444</fileMode>
<source>target/${assemblyJwd}</source>
<outputDirectory></outputDirectory>
</file>
</files>
現在エラーが表示される:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2.1:single (make-jwd) on project deviceinsight-api-java: Failed to create assembly: Error adding file to archive: /Users/barmistead/Mercurial/deviceinsight-print/target/deviceinsight-api-java-3.1.16-1-SNAPSHOT-jar-with-dependencies.jar isn't a file. -> [Help 1]
これは鶏と卵の問題の可能性があると推測しています。したがって、mavenに優雅な解決策がない場合は、手作業で行う必要があります。しかし、私がやろうとしていることはよくあることだと思うので、簡単な方法があると思います。