我对 Maven 完全陌生。
我有以下 maven-assembly 文件要调试。
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<!-- Adds dependencies to zip package under lib directory -->
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>startup.*</include>
</includes>
</fileSet>
<!-- adds jar package to the root directory of zip package -->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>
上述文件的问题是底层应用程序需要从两个相关项目中获取 jars。
这两个项目都有一些同名的罐子。
当我执行 mvn clean assembly:assembly 时,它将两个项目中的所有 jar 处理到一个文件夹中。
显然,这会覆盖一些 jar 文件,这就是问题开始的地方。
因此,我开始收到 ClassNotFound 错误。
请帮我解决这个问题。
另外,我不确定是否正在定义变量 ${project.build.scriptSourceDirectory} 和 ${project.build.directory}。
我已经为此搜索了整个源代码,但没有用。
现在我怀疑这些是一些 Maven 特定的变量,但我不明白这一点。
如果你有一些很棒的 maven 教程,可以让你对 maven 更新鲜,请提供。