java.lang.RuntimeException:com.sun.tools.javac.code.Symbol$C



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

服务器环境是Windows 2019 server(v1809),这就是我在使用Netbeans v11.3和12.0时遇到问题的地方。在这两种情况下,我都会得到相同的错误。我还尝试在JDK1.7和1.8中进行构建。注意到堆栈跟踪中的CanonialModelProcessor消息,我正在JDK1.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.DER找不到

注释处理器引发了未捕获的异常。请咨询有关详细信息,请参阅堆栈跟踪。java.lang.RuntimeException:com.sun.tools.javac.code.Symbol$CompletionFailure:的类文件在找不到org.bouncycastle.asn1.DERIntegerorg.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.produce(CanonicalModelProcessor.java:407)在com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessing Environment.java:794)在com.sun.tools.javac.processing.JavacProcessingEnvironment.dediscoverAndRunProcs(JavacProcessing Environment.java:705)在com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessing Environment.java:91)在com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessing Environment.java:1035)在com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessing Environment.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(本机方法)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(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.UnnknownElement.execute(UnknownElement.java:292)位于sun.reflect.GeneratedMethodAccessor63.invoke(未知源)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(Method.java:498)org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)网址:org.apache.tools.ant.Task.aperform(Task.java:350)java.util.VVector.forEach(Vector.java:1275)org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)在org.apache.tools.ant.UnnknownElement.execute(UnknownElement.java:292)位于sun.reflect.GeneratedMethodAccessor63.invoke(未知源)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(Method.java:498)org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)网址:org.apache.tools.ant.Task.aperform(Task.java:350)org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:391)在org.apache.tools.ant.UnnknownElement.execute(UnknownElement.java:292)位于sun.reflect.GeneratedMethodAccessor63.invoke(未知源)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(Method.java:498)org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)网址:org.apache.tools.ant.Task.aperform(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:class引起找不到org.bouncycastle.asn1DERInteger的文件BUILD FAILED(总时间:10秒)

我在SOF和其他在线来源上研究了一些类似的问题。我注意到弹性城堡图书馆往往在不止一个地方。我的问题是:

  1. 如果这真的是一个与bouncycastle有关的错误,是否有一个库罐子包含所有的bouncyccastle类?在我的应用程序中,我添加了:

    libbcpkix-jdk15to18-168.jar libbcprov-ext-jdk15to18-1.68.jar
    libbcprov-jdk15on-1.68.jar libbc-fips-1.0.2.jar
    libbcmail-fips-1.0.3.jar libbcpkix-fips-1.0.5.jar
    libbcpkix-jdk15to18-168.jar
    
  2. 如果这不是一个边界城堡错误,你知道是什么导致的吗?

非常感谢!

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

相关内容

  • 没有找到相关文章

最新更新