使用Maven构建Eclipse-CDT时,如何解决javax.imageio缺少的需求?

时间:2019-08-07 11:47:30

标签: eclipse maven maven-3 eclipse-cdt

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

1 个答案:

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