【问题标题】:Error compiling cumulocity-clients-java with java 11 [duplicate]使用 java 11 编译 cumulocity-clients-java 时出错 [重复]
【发布时间】:2019-10-07 19:35:58
【问题描述】:

我想使用 cumulocity api 进行开发,所以我下载了 java 示例 (https://bitbucket.org/m2m/cumulocity-clients-java) 版本 1004.7.0 的源代码。

当尝试使用 maven 使用 java 11 (openjdk 11.0.2) 编译它时,出现以下异常:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project device-capability-model: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project device-capability-model: Fatal error compiling
....
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags
    at java.lang.ClassLoader.findClass (ClassLoader.java:718)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
    at lombok.launch.ShadowClassLoader.loadClass (ShadowClassLoader.java:422)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:521)
    at java.lang.Class.forName0 (Native Method)
    at java.lang.Class.forName (Class.java:315)
    at lombok.javac.JavacTreeMaker$SchroedingerType.getFieldCached (JavacTreeMaker.java:156)
    at lombok.javac.JavacTreeMaker$TypeTag.typeTag (JavacTreeMaker.java:245)
    at lombok.javac.Javac.<clinit> (Javac.java:155)
    at lombok.javac.handlers.HandleGetter.<clinit> (HandleGetter.java:303)
    at java.lang.Class.forName0 (Native Method)
    at java.lang.Class.forName (Class.java:398)
    at lombok.core.SpiLoadUtil$1$1.next (SpiLoadUtil.java:111)
    at lombok.javac.HandlerLibrary.loadAnnotationHandlers (HandlerLibrary.java:171)
    at lombok.javac.HandlerLibrary.load (HandlerLibrary.java:156)
    at lombok.javac.JavacTransformer.<init> (JavacTransformer.java:44)
    at lombok.javac.apt.LombokProcessor.init (LombokProcessor.java:89)
    at lombok.core.AnnotationProcessor$JavacDescriptor.want (AnnotationProcessor.java:87)
    at lombok.core.AnnotationProcessor.init (AnnotationProcessor.java:140)
    at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init (AnnotationProcessor.java:69)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init> (JavacProcessingEnvironment.java:678)

作为参考,使用的maven命令是:

mvn clean package -Dmaven.test.skip=true -e

是否有与 java 11 一起编译的版本?或者我需要进行哪些配置才能使用 java 11 编译它?

【问题讨论】:

  • 你可以在这里发布 pom.xml 吗?
  • 您需要将 Lombok 依赖更新到 1.18.4 或更高版本
  • 我有 1.18.10 并且仍然遇到同样的错误

标签: java java-11 cumulocity


【解决方案1】:

在maven pom.xml文件中注释下面两行.s

<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>

您将不得不替换以下代码

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>

在 pom.xml 中使用以下代码。

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                        <release>11</release>
                    </configuration>
                </plugin>

你可以检查一下。

【讨论】:

  • 我已经尝试过您的解决方案,但现在我有:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project device-capability-model: Compilation failure: Compilation failure: [ERROR] /E:/data/git_repos/cumulocity/m2m-cumulocity-clients-java-3d14ee967178/device-capability-model/src/main/java/c8y/RemoteAccessCredentialsType.java:[16,46] cannot find symbol [ERROR] symbol: method getPassword() [ERROR] location: variable credentials of type c8y.RemoteAccessCredentials 这些出现在 device-capability-model 上。
  • 该错误清楚地说明了凭据问题,这意味着您没有传递密码或者您使用的密码错误。
  • 我认为您在某处使用用户名和密码来下载工件。根据您的问题,有关编译的问题已解决。如果您发布有关此问题的新问题,人们将能够帮助您。
  • 使用 Maven 下载 Cumulocity 工件时不需要凭据。只需使用cumulocity.com/guides/microservice-sdk/java 中提供的存储库
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
相关资源
最近更新 更多