0

我对 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 更新鲜,请提供。

4

1 回答 1

1

为了开始使用 maven,您应该先阅读以下内容:http: //books.sonatype.com/mvnref-book/reference/public-book.html

在第二种情况下,您还可以阅读一些示例:http: //books.sonatype.com/mvnex-book/reference/public-book.html

于 2013-10-11T10:07:24.207 回答