【问题标题】:java.lang.RuntimeException: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for org.bouncycastle.asn1.DERInteger not foundjava.lang.RuntimeException:com.sun.tools.javac.code.Symbol$CompletionFailure:找不到 org.bouncycastle.asn1.DERInteger 的类文件
【发布时间】:2021-06-08 08:18:54
【问题描述】:

我正在打开一个以前用 Java EE 7 编写的应用程序。我的目标是编译和运行该应用程序。我已经尝试了几种不同的 Netbeans 和操作系统来完成这项工作。该应用程序在使用 Netbeans 11.3 的独立 Macbook Pro 笔记本电脑中编译和运行良好。 Mac 仅用于测试。

服务器环境是 Windows 2019 Server (v1809),这是我在使用 Netbeans v11.3 和 12.0 时遇到问题的地方。在这两种情况下,我都会遇到相同的错误。我还尝试在 JDK 1.7 和 1.8 中构建。注意到堆栈跟踪中的 CanonialModelProcessor 消息,我正在 JDK 1.8 中构建。

编译203个源文件到 C:***\build\web\WEB-INF\classes 警告:支持 来自注释处理器的源版本“RELEASE_6” 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' 小于 -source '1.8' 注意:创建静态元数据工厂 ... 错误:com.sun.tools.javac.code.Symbol$CompletionFailure:类文件 对于 org.bouncycastle.asn1.DERInteger 未找到

注释处理器引发了未捕获的异常。咨询 跟踪堆栈跟踪以获取详细信息。 java.lang.RuntimeException: com.sun.tools.javac.code.Symbol$CompletionFailure:类文件 org.bouncycastle.asn1.DERInteger 未找到 org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407) 在 com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794) 在 com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705) 在 com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91) 在 com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035) 在 com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176) 在 com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170) 在 com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856) 在 com.sun.tools.javac.main.Main.compile(Main.java:523) 在 com.sun.tools.javac.main.Main.compile(Main.java:381) 在 com.sun.tools.javac.main.Main.compile(Main.java:370) 在 com.sun.tools.javac.main.Main.compile(Main.java:361) 在 com.sun.tools.javac.Main.compile(Main.java:56) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:57) 在 org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1404) 在 org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1133) 在 org.netbeans.modules.java.source.ant.JavacTask.execute(JavacTask.java:120) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) 在 org.apache.tools.ant.Task.perform(Task.java:350) 在 java.util.Vector.forEach(Vector.java:1275) 在 org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) 在 org.apache.tools.ant.Task.perform(Task.java:350) 在 org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:391) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) 在 org.apache.tools.ant.Task.perform(Task.java:350) 在 org.apache.tools.ant.Target.execute(Target.java:449) 在 org.apache.tools.ant.Target.performTasks(Target.java:470) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388) 在 org.apache.tools.ant.Project.executeTarget(Project.java:1361) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1251) 在 org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:261) 在 org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:574) 在 org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:128) 引起:com.sun.tools.javac.code.Symbol$CompletionFailure: 类 org.bouncycastle.asn1.DERInteger 的文件未找到 BUILD FAILED (总时间:10秒)

我研究了一些关于 SOF 和其他在线资源的类似问题。我注意到 bouncycastle 库往往在不止一个地方。我的问题是:

  1. 如果这确实是与 bouncycastle 相关的错误,是否有一个包含所有 bouncycastle 类的库?在我的应用中,我添加了:

     lib\bcpkix-jdk15to18-168.jar lib\bcprov-ext-jdk15to18-1.68.jar
     lib\bcprov-jdk15on-1.68.jar lib\bc-fips-1.0.2.jar
     lib\bcmail-fips-1.0.3.jar lib\bcpkix-fips-1.0.5.jar
     lib\bcpkix-jdk15to18-168.jar
    
  2. 如果不是 bouncycastle 错误,知道是什么原因造成的吗?

非常感谢!

【问题讨论】:

    标签: java hibernate glassfish jpa-2.0 bouncycastle


    【解决方案1】:

    我通过将其重新构建为一个 Maven 项目、使用反复试验和主要只是导入最新/更新的依赖项来解决这个问题。在观察到编译错误的情况下,可以通过导入与应用程序最初编写时的关闭时间戳匹配的依赖项来解决此问题。

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多