Eclipse 第谷 : Compile error when using the java. xml.bind 模块?

标签 eclipse maven eclipse-rcp tycho java-10

我认为问题与此blog post中描述的相同。但我在 Java 10 中得到了这个:我有一个 Eclipse RCP 应用程序,它使用 Java 10 功能,但也使用 JAXB 类。在 Eclipse 中,我必须将 java.xml.bind 模块添加到项目的构建路径配置中(如 here 中所述),以使编译错误消失。

但是,当使用 Tycho 1.2.0 构建产品时,我收到以下错误,正是针对使用 JAXB 的类:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:1.2.0:compile (default-compile) on project epd-editor: Compilation failure: Compilation failure:
[ERROR] ...app\src\app\editors\XmlPage.java:
[ERROR] package app.editors;
[ERROR] ^
[ERROR] Internal compiler error: java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.BinaryModuleBinding.create(BinaryModuleBinding.java:64)
[ERROR] java.lang.NullPointerException
[ERROR] at org.eclipse.jdt.internal.compiler.lookup.BinaryModuleBinding.create(BinaryModuleBinding.java:64)
[ERROR] at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getModuleFromAnswer(LookupEnvironment.java:427)
[ERROR] at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:367)
[ERROR] at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:228)
[ERROR] at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:105)

有没有办法配置第谷编译器插件,以便它可以看到像 java.xml.bind 这样的模块,或者是否还有其他原因导致此错误?

谢谢。

最佳答案

Java EE modules are deprecated for removal and not resolved by defaultwill be removed in Java 11 。 处理这个问题的最佳方法是 use a third-party dependency ,但是正如您所观察到的那样,完成此操作后 JDT 会被自己的脚绊倒。我打开an issue它在不久前就已修复,但要找到包含更改并可在 Java 10 上运行的 Artifact 并不容易。我知道的第一个 Artifact 来自Eclipse Photon I20180531-0700

在 Eclipse 的 plugins 文件夹中执行以下命令(@people from the future:你可能需要更新版本):

mvn install:install-file \
    -Dfile=org.eclipse.jdt.core_3.14.0.v20180528-0519.jar \
    -DgroupId=org.eclipse.tycho \
    -DartifactId=org.eclipse.jdt.core \
    -Dversion=3.14.0.v20180528-0519 \
    -Dpackaging=jar

然后您可以按如下方式使用它作为 Maven 编译器插件的依赖项:

<dependency>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-compiler-jdt</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>org.eclipse.jdt.core</artifactId>
    <!-- unreleased version that was pulled from Eclipse Photon I20180531-0700
            contains the fix and compiles Java 10 -->
    <version>3.14.0.v20180528-0519</version>
</dependency>

问题也有描述on java9.wtfa demo project on GitHub 。 (我忘记推送了,所以现在只在线了五分钟左右。😒)

关于Eclipse 第谷 : Compile error when using the java. xml.bind 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818884/

相关文章:

eclipse - 64 位 Windows 7 上的 32 位 Java,用于在 Eclipse Juno 中运行 JBoss JSP 编辑器

java - 在不丢失结构的情况下将 Eclipse 项目转换为 Maven

java - 将 eclipse UI 表单添加到 AbstractDecolatedTextEditor

eclipse-plugin - 如何在 View 的工具栏中添加下拉按钮?

eclipse项目未在本地Maven存储库中导入jar包

python - 使用 gdb pretty-print 在 eclipse cdt 中显示智能指针

java - 测试在 IDE 中通过,在命令行中失败

android - ionic 重建自定义插件

java - maven:无法覆盖 tomcat 服务器的 server.port

java - 在 Eclipse RCP 4 中打开一个编辑部分(作为以前 eclipse 版本中的编辑器)