如何修复在使用Maven构建Eclipse-CDT时缺少javax.imageio的需求?



我从 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构建它。一些包是从存储库下载的,最后它退出并显示以下错误消息

我需要从源代码构建 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]

[错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。

[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。

[错误] 有关错误和可能的解决方案的详细信息,请阅读以下文章:

[错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException

这里的问题是,某些插件没有定义 RequiredExecutionEnvironment。如果这样的插件依赖于 JRE 包,则构建将失败并出现给定错误。

在第谷中,可以定义这样的环境:

<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>

最新更新