我有一个Maven项目。当我尝试使用Maven构建它时,我收到此错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.
3.2:compile (default-compile) on project myProject: Compilation failure:
Compilation failure:
[ERROR] ClassA.java:[32,38] cannot access ClassB
[ERROR] class file for ClassB not found
ClassB
位于另一个工件内,该工件位于本地存储库中。事实上,使用m2eclipse Maven插件构建这个项目没有问题。只有当我运行mvn compile
构建失败时才会这样做。
从命令行构建我需要做什么?
答案 0 :(得分:2)
Eclipse可能绕过你的pom依赖关系,并通过找到不在你的pom中的依赖关系来帮助你。然后,当你从命令行运行时,eclipse不再有帮助了。我会仔细检查你明确表示依赖的pom。你也可以尝试
mvn dependency:analyze
了解更多信息。
答案 1 :(得分:1)
看起来你已经在src / test / java中定义了一个通常的类而不是src / main / java区域,这有时会导致eclipse事情的行为有点不同。
答案 2 :(得分:-3)
添加到pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src\main\webapp\WEB-INF\lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>