1

我是新手。我刚刚加入了一家新公司,他们的所有项目都使用 maven。我为 Maven 依赖项设置了公司的服务器。我正在使用 Fedora。

对于大多数项目来说,一切都很顺利。对于其中一些,我在运行 mvn compile 时收到此错误:

无法在项目 xlayer 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile):致命错误编译:执行外部编译器时出错。执行过程时出错。无法运行程序“java -classpath”${env.M2_REPO}/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar“org.eclipse.jdt.internal.compiler.batch .Main -sourcepath "src/main"" (在目录 "/home/es/ion_projects/XLayer"): error=2, No such file or directory -> [Help 1]

我在网上看了几个小时,什么也做不了。PATH 和 JAVA_HOME 设置正确。

运行 mvn --version 给出:

Apache Maven 3.0.4 (rNON-CANONICAL_2013-01-22_13-18_mockbuild; 2013-01-22 14:18:29+0100) Maven 主页:/usr/share/maven Java 版本:1.7.0_17,供应商:Oracle Corporation Java主页:/home/es/kit/jdk1.7.0_17/jre 默认语言环境:en_US,平台编码:UTF-8 操作系统名称:“linux”,版本:“3.8.3-103.fc17.i686”,arch:“ i386”,家庭:“unix”

更新:

在 pom.xml (父级,但这并不重要)中,maven-compiler-plugin 将可执行文件定义为

java -classpath "${env.M2_REPO}/org/eclipse/jdt/core/${org.eclipse.jdt.core.version}/core-${org.eclipse.jdt.core.version}.jar" org .eclipse.jdt.internal.compiler.batch.Main -sourcepath "src/main"

为了使用 Eclipse 编译器而不是 sun 的编译器。这适用于使用 Windows 的开发人员。在 linux 上,maven 尝试将“java -classpath ....”作为一个不存在的命令执行。

我仍在寻找解决方案。我发现的唯一黑客是将可执行文件“java -classpath ...”放在我机器上的可执行文件中,并将该文件的名称放在 maven 的标签中。

4

0 回答 0