我从https://git.eclipse.org/c/cdt/org.eclipse.cdt.git下载了eclipse cdt源程序包org.eclipse.cdt-CDT_9_8_1.tar.xz,并使用maven 3.6.1尝试使用命令mvn clean install构建它。从repos下载了一些软件包,最后它退出并显示以下错误消息
我需要从源代码构建cdt,因为我想对CDT源代码进行一些更改。我不是Maven的专家,不确定发生了什么问题。请帮助解决问题
[INFO]解决MavenProject的依赖项:org.eclipse.cdt:org.eclipse.cdt.build.gcc.core:1.0.1-SNAPSHOT @ D:\ Eclipse \ Sources \ CDT9.8.1_GIT \ cdt-releng \ org.eclipse.cdt \ build \ org.eclipse.cdt.build.gcc.core.polyglot.build.properties
[错误]无法解析目标定义:
[错误]正在安装的软件:com.sun.xml.bind 2.2.0.v201505121915
[错误]缺少要求:com.sun.xml.bind 2.2.0.v201505121915需要'java.package; javax.imageio 0.0.0',但找不到
[错误]无法解析目标定义D:\ Eclipse \ Sources \ CDT9.8.1_GIT \ cdt-releng \ org.eclipse.cdt \ releng \ org.eclipse.cdt.target \ cdt.target:请参阅日志以获取详细信息-> [帮助1]
[ERROR]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[错误]使用-X开关重新运行Maven以启用完整的调试日志记录。
[ERROR]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
答案 0 :(得分:0)
这里的问题是,某些插件未定义RequiredExecutionEnvironment。如果此类插件依赖JRE软件包,则构建将失败,并显示给定错误。
在Tycho中可以定义这样的环境:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<!-- needed as some plugins do not set a execution environment they would fail to get jre packages (eg. javax.imageio) -->
<executionEnvironment>JavaSE-1.8</executionEnvironment>
</configuration>
</plugin>