0

我有一个A依赖于模块中的类的 Maven 模块B(两者都是项目中的子模块)。

A'spom.xml我有以下内容:

  <dependencies>
    <dependency>
        <groupId>test.pack</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency> 
  </dependencies>

但是当我尝试构建 时AB没有正确出现在依赖项中,我在 import 语句中Atest.pack.packFromA包中的类中遇到编译错误,看起来像import test.pack.packFromB.*.

所以,我的B依赖不能正常工作。但我认为来自的类B将被打包并添加到类路径中,所以我可以使用它们。我试图添加<type>该依赖项,但这没有帮助。我在这里做错了什么?提前致谢。

编辑<modules>父母的部分pom.xml看起来像这样:

  <modules>
    <module>B</module>
    <module>A</module>
  </modules>

这是我得到的错误:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project A: Compilation failure: Compilation failure:

4

1 回答 1

1

mvn install在您尝试构建模块 A 之前,您是否在模块 B 中完成过?

(如果你使用“mvn package”而不是mvn install,模块 B 将不会被放置在 repo 中,因此 Maven 在构建模块 A 时不会找到它)。

另外,您是否尝试过从父模块构建多模块项目?(当你这样做时,Maven 将以正确的顺序构建模块)

如果不是这样,请验证您引用的类是否位于src/main/java/test/pack/packFromB模块 B 中。如果它们位于模块 B 中,则src/test/java..您需要特定类型的依赖项。

希望有帮助。

于 2012-04-29T11:39:54.513 回答