我正在使用 Tycho 构建 RCP 应用程序。该构建在 Windows Runner 上的 Gitlab CI 脚本中运行。由于其中一个插件中的某些组件,该应用程序设置为在 Java 8 级别运行。运行器使用 OpenJDK 12。目前,这会导致编译器错误。
如何为build设置源编译器级别和目标编译器级别?
我尝试在父 pom 中设置以下内容:
<properties>
<tycho.version>1.5.1</tycho.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
还有
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<compilerVersion>1.8</compilerVersion>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
但我仍然遇到编译器错误,例如 JAXBElement cannot be resolved to a type
。
最佳答案
您必须在 MANIFEST.MF 文件的概览选项卡上设置执行环境。 Tycho 将从那里推断 Maven 属性。
...
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
...
关于java - 如何在 Tycho 构建中设置 Java 编译器兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62537685/