0

我有一个依赖于项目 B 的网络项目 A,

项目 B 依赖于 JAR C

问题:

当我打包 web 项目 A 时,b 有一个 jar(预期),但它们没有引用 jar c

所以,当我运行我的网络项目 A 并访问项目 B 的功能时,我得到了类NotFoundException,因为 jar C 不包括在内

任何帮助我如何在父项目A中包含jar C而不自己在项目A中编写它pom.xml

网络项目pom.xml

<project ....>
    ..........
    <dependencies>
        <!--Local Projects -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>project B</artifactId>
            <version>1.0.0</version>
       </dependency>
    </dependencies>

</project>

项目Bpom.xml

<project ....>
<dependencies>
    <dependency>
        <groupId>jar_C</groupId>
        <artifactId>jar_C</artifactId>
        <version>1.0.0</version>

    </dependency>

</dependencies>

4

2 回答 2

0

作为您的配置,Maven 只负责编译,也就是说,一个 jar 不会将其任何依赖项带入自身。如果您需要将依赖项打包在一起,您应该使用 Assembly 插件,请参阅:here

于 2013-01-04T04:24:22.357 回答
0

阅读Maven 依赖机制

导入(仅在 Maven 2.0.9 或更高版本中可用)

此范围仅用于该部分中 pom 类型的依赖项<dependencyManagement>。它指示应将指定的 POM 替换为该 POM<dependencyManagement>部分中的依赖项。由于它们被替换,具有导入范围的依赖项实际上并不参与限制依赖项的传递性。

所以基本上,试试这个

网络项目pom.xml

<project ....>
    ..........
    <dependencies>
        <!--Local Projects -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>project B</artifactId>
            <version>1.0.0</version>
            <scope>import</scope>
       </dependency>
    </dependencies>

</project>
于 2013-01-04T07:16:29.617 回答