Ant jwsc webservice 构建期间出现 java.lang.IllegalAccessException

发布于 2024-10-08 19:13:48 字数 15880 浏览 0 评论 0原文

我有一个大型应用程序,其中一部分依赖于一组 3 个 Web 服务。我目前正在编写 Ant 构建脚本来构建应用程序并将其打包到 EAR 文件中。在为此应用程序构建 Web 子项目时,我使用 Ant 中的 任务来编译 Web 服务。这会导致 IllegalAccessException,如下面的堆栈跟踪所示:

 [jwsc] 警告:未设置“includeantruntime”,默认为 build.sysclasspath=last;对于可重复构建设置为 false
 [jwsc] JWS:处理模块weboutput
 [jwsc] 解析源文件
 [jwsc] 解析源文件
 [jwsc] 正在为模块 weboutput 处理 3 个 JWS 文件
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\DailyRun.java 已验证。
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\PendingRegistrationsSweep.java 已验证。
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\RegistrationsGoLive.java 已验证。
 [jwsc] 编译6个源文件到C:\DOCUME~1\KEVIN~1.BRE\LOCALS~1\Temp\_5l950r
 [jwsc] 编译器中发生异常(1.6.0_23)。检查 Bug Parade 是否有重复项后,请在 Java Developer Connection (http://java.sun.com/webapps/bugreport) 上提交错误。在报告中包含您的程序和以下诊断。谢谢。
 [jwsc] java.lang.IllegalAccessError:尝试从类 com.sun.tools.javac.jvm.ClassReader 访问类 com.sun.tools.javac.jvm.ClassReader$AnnotationDefaultCompleter
 [jwsc] 位于 com.sun.tools.javac.jvm.ClassReader.attachAnnotationDefault(ClassReader.java:1128)
 [jwsc] 在 com.sun.tools.javac.jvm.ClassReader.readMemberAttr(ClassReader.java:906)
 [jwsc] 在 com.sun.tools.javac.jvm.ClassReader.readMemberAttrs(ClassReader.java:1027)
 [jwsc] 在 com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:1490)
 [jwsc] 在 com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:1586)
 [jwsc] 在 com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:1658)
 [jwsc] 位于 com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1845)
 [jwsc] 位于 com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1777)
 [jwsc] 位于 com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
 [jwsc] 位于 com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
 [jwsc] 位于 com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:1951)
 [jwsc] 位于 com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:842)
 [jwsc] 位于 com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1011)
 [jwsc] 位于 com.sun.tools.javac.comp.Attr.selectSym(Attr.java:1921)
 [jwsc] 位于 com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1835)
 [jwsc] 在 com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1522)
 [jwsc] 位于 com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
 [jwsc] 位于 com.sun.tools.javac.comp.Attr.attribType(Attr.java:390)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:681)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:545)
 [jwsc] 在 com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:495)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:399)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:512)
 [jwsc] 在 com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:446)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387)
 [jwsc] 位于 com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:819)
 [jwsc] 位于 com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
 [jwsc] 位于 com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
 [jwsc] 位于 com.sun.tools.javac.comp.Enter.complete(Enter.java:464)
 [jwsc] 位于 com.sun.tools.javac.comp.Enter.main(Enter.java:442)
 [jwsc] 位于 com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:819)
 [jwsc] 位于 com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
 [jwsc] 在 com.sun.tools.javac.main.Main.compile(Main.java:353)
 [jwsc] 在 com.sun.tools.javac.main.Main.compile(Main.java:279)
 [jwsc] 在 com.sun.tools.javac.main.Main.compile(Main.java:270)
 [jwsc] 位于 com.sun.tools.javac.Main.compile(Main.java:69)
 [jwsc] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
 [jwsc] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:56)
 [jwsc] 位于 org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1097)
 [jwsc] 在 weblogic.wsee.tools.anttasks.DelegatingJavacTask$ExusingJavac.compile(DelegatingJavacTask.java:343)
 [jwsc] 在 weblogic.wsee.tools.anttasks.DelegatingJavacTask.compile(DelegatingJavacTask.java:286)
 [jwsc] 在 weblogic.wsee.tools.anttasks.JwscTask.javac(JwscTask.java:335)
 [jwsc] 在 weblogic.wsee.tools.anttasks.JwsModule.compile(JwsModule.java:390)
 [jwsc] 在 weblogic.wsee.tools.anttasks.JwsModule.build(JwsModule.java:262)
 [jwsc] 在 weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:227)
 [jwsc] 位于 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc] 位于 org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc] 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc] 在 org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
 [jwsc] 在 org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
 [jwsc] 在 org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
 [jwsc] 位于 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc] 在 org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc] 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc] 在 org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc] 在 com.bea.workshop.cmdline.antlib.AntExTask.execute(AntExTask.java:406)
 [jwsc] 在 com.bea.workshop.cmdline.antlib.AntCallExTask.execute(AntCallExTask.java:118)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc] 在 org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc] 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc] 在 org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc] 在 com.bea.workshop.cmdline.antlib.AntExTask.execute(AntExTask.java:406)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc] 在 net.sf.antcontrib.logic.IfTask.execute(IfTask.java:217)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor44.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 在 org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc] 在 net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor44.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 在 org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
 [jwsc] 在 net.sf.antcontrib.logic.ForTask.doSequentialIteration(ForTask.java:259)
 [jwsc] 在 net.sf.antcontrib.logic.ForTask.doToken(ForTask.java:268)
 [jwsc] 在 net.sf.antcontrib.logic.ForTask.doTheTasks(ForTask.java:299)
 [jwsc] 在 net.sf.antcontrib.logic.ForTask.execute(ForTask.java:244)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc] 位于 org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc] 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc] 在 org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
 [jwsc] 在 org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc] 在 org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
 [jwsc] 在 org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
 [jwsc] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc] 在 sun.reflect.GenerateMethodAccessor4.invoke(来源未知)
 [jwsc] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc] 在 java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc] 位于 org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc] 在 org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc] 在 org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc] 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc] 在 org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc] 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
 [jwsc] 在 org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc] 位于 org.apache.tools.ant.Main.runBuild(Main.java:801)
 [jwsc] 位于 org.apache.tools.ant.Main.startAnt(Main.java:218)
 [jwsc] 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
 [jwsc] 位于 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

[AntUtil.deleteDir] 正在删除目录 C:\DOCUME~1\KEVIN~1.BRE\LOCALS~1\Temp_5l950r

使用 任务的 Ant 目标是这样的:

<target name="webservice.build" depends="init,generated.root.init">
  <path id="jwsc.srcpath">
    <path path="${java.sourcepath}" />
    <pathelement path="build/assembly/.src" />
  </path>

  <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" >
    <classpath> 
      <path refid="weblogic.jar.classpath" />
    </classpath> 
  </taskdef>

  <property name="jwsc.module.root" value="${project.dir}/build/weboutput"/>

  <property name="jwsc.contextpath" value="irWeb"/>

  <property name="jwsc.srcpath.prop" refid="jwsc.srcpath"/>

  <path id="jwsc.classpath">
    <path refid="weblogic.jar.classpath" />
    <path refid="java.classpath" />
    <pathelement path="${java.outpath}" />
  </path>

  <jwsc destdir="${project.dir}/build" classpathref="jwsc.classpath">
    <module name="weboutput" explode="true" contextPath="${jwsc.contextpath}" >
      <jwsFileSet srcdir="${webservices.dir}" type="JAXRPC"> 
        <include name="**/*.java"/>
      </jwsFileSet> 
      <descriptor file="${jwsc.module.root}/WEB-INF/web.xml" />
      <descriptor file="${jwsc.module.root}/WEB-INF/weblogic.xml" />
    </module>
  </jwsc>
</target>

我不知道是什么导致编译器在构建时抛出此错误,并且一天的谷歌搜索发现了由不同触发器引起的此错误的其他实例,并且这些问题的解决方案对我不起作用。我还在Oracle论坛上找到了一份报告,似乎是这个问题的抄袭,但没有回复。

该应用程序是在 Weblogic Workshop 10 中编写的,在 Weblogic Server 10.3 上运行,并使用 Beehive / NetUI。不确定这是否会有所作为。构建脚本由 Weblogic Workshop 自动生成,我自己对文件的其他方面进行了一些调整和修复,以解决其他兼容性问题。我正在使用 Sun 的 Java 1.6.0_23 和 Ant 1.8.1

任何帮助或建议将不胜感激。

~~~编辑~~~ 更新:我找到了解决此问题的方法,方法是将系统上的 JDK 从 Sun JDK 更改为 WebLogic 附带的 JRockit JDK。我猜想与 Sun JDK 中的类相比,JRockit 已针对 WebLogic 修改和优化了类。

((此外,不确定是否将其放入编辑或答案中,因此选择了编辑。如果这是错误的地方,我深表歉意。))

I have a large application, part of which relies on a set of 3 webservices. I'm currently in the process of writing an Ant build script to build and package the application into an EAR file. When building the web sub-project for this application I use the <jwsc> task in Ant to compile the webservices. This causes an IllegalAccessException, as outlined in the stack trace below:

 [jwsc] warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
 [jwsc] JWS: processing module weboutput
 [jwsc] Parsing source files
 [jwsc] Parsing source files
 [jwsc] 3 JWS files being processed for module weboutput
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\DailyRun.java Validated.
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\PendingRegistrationsSweep.java Validated.
 [jwsc] JWS: C:\dev\ir\irWeb\src\webservices\RegistrationsGoLive.java Validated.
 [jwsc] Compiling 6 source files to C:\DOCUME~1\KEVIN~1.BRE\LOCALS~1\Temp\_5l950r
 [jwsc] An exception has occurred in the compiler (1.6.0_23). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
 [jwsc] java.lang.IllegalAccessError: tried to access class com.sun.tools.javac.jvm.ClassReader$AnnotationDefaultCompleter from class com.sun.tools.javac.jvm.ClassReader
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.attachAnnotationDefault(ClassReader.java:1128)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.readMemberAttr(ClassReader.java:906)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.readMemberAttrs(ClassReader.java:1027)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:1490)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:1586)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:1658)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1845)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1777)
 [jwsc]     at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
 [jwsc]     at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
 [jwsc]     at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:1951)
 [jwsc]     at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:842)
 [jwsc]     at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1011)
 [jwsc]     at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:1921)
 [jwsc]     at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1835)
 [jwsc]     at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1522)
 [jwsc]     at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
 [jwsc]     at com.sun.tools.javac.comp.Attr.attribType(Attr.java:390)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:681)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:545)
 [jwsc]     at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:495)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:399)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:512)
 [jwsc]     at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:446)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387)
 [jwsc]     at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:819)
 [jwsc]     at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
 [jwsc]     at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
 [jwsc]     at com.sun.tools.javac.comp.Enter.complete(Enter.java:464)
 [jwsc]     at com.sun.tools.javac.comp.Enter.main(Enter.java:442)
 [jwsc]     at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:819)
 [jwsc]     at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
 [jwsc]     at com.sun.tools.javac.main.Main.compile(Main.java:353)
 [jwsc]     at com.sun.tools.javac.main.Main.compile(Main.java:279)
 [jwsc]     at com.sun.tools.javac.main.Main.compile(Main.java:270)
 [jwsc]     at com.sun.tools.javac.Main.compile(Main.java:69)
 [jwsc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [jwsc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:56)
 [jwsc]     at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1097)
 [jwsc]     at weblogic.wsee.tools.anttasks.DelegatingJavacTask$ExposingJavac.compile(DelegatingJavacTask.java:343)
 [jwsc]     at weblogic.wsee.tools.anttasks.DelegatingJavacTask.compile(DelegatingJavacTask.java:286)
 [jwsc]     at weblogic.wsee.tools.anttasks.JwscTask.javac(JwscTask.java:335)
 [jwsc]     at weblogic.wsee.tools.anttasks.JwsModule.compile(JwsModule.java:390)
 [jwsc]     at weblogic.wsee.tools.anttasks.JwsModule.build(JwsModule.java:262)
 [jwsc]     at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:227)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc]     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
 [jwsc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
 [jwsc]     at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc]     at com.bea.workshop.cmdline.antlib.AntExTask.execute(AntExTask.java:406)
 [jwsc]     at com.bea.workshop.cmdline.antlib.AntCallExTask.execute(AntCallExTask.java:118)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc]     at com.bea.workshop.cmdline.antlib.AntExTask.execute(AntExTask.java:406)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc]     at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:217)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc]     at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
 [jwsc]     at net.sf.antcontrib.logic.ForTask.doSequentialIteration(ForTask.java:259)
 [jwsc]     at net.sf.antcontrib.logic.ForTask.doToken(ForTask.java:268)
 [jwsc]     at net.sf.antcontrib.logic.ForTask.doTheTasks(ForTask.java:299)
 [jwsc]     at net.sf.antcontrib.logic.ForTask.execute(ForTask.java:244)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc]     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
 [jwsc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
 [jwsc]     at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
 [jwsc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [jwsc]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [jwsc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 [jwsc]     at java.lang.reflect.Method.invoke(Method.java:597)
 [jwsc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [jwsc]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [jwsc]     at org.apache.tools.ant.Target.execute(Target.java:390)
 [jwsc]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
 [jwsc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
 [jwsc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
 [jwsc]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
 [jwsc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
 [jwsc]     at org.apache.tools.ant.Main.runBuild(Main.java:801)
 [jwsc]     at org.apache.tools.ant.Main.startAnt(Main.java:218)
 [jwsc]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
 [jwsc]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

[AntUtil.deleteDir] Deleting directory C:\DOCUME~1\KEVIN~1.BRE\LOCALS~1\Temp_5l950r

The Ant target that uses the <jwsc> task is this:

<target name="webservice.build" depends="init,generated.root.init">
  <path id="jwsc.srcpath">
    <path path="${java.sourcepath}" />
    <pathelement path="build/assembly/.src" />
  </path>

  <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" >
    <classpath> 
      <path refid="weblogic.jar.classpath" />
    </classpath> 
  </taskdef>

  <property name="jwsc.module.root" value="${project.dir}/build/weboutput"/>

  <property name="jwsc.contextpath" value="irWeb"/>

  <property name="jwsc.srcpath.prop" refid="jwsc.srcpath"/>

  <path id="jwsc.classpath">
    <path refid="weblogic.jar.classpath" />
    <path refid="java.classpath" />
    <pathelement path="${java.outpath}" />
  </path>

  <jwsc destdir="${project.dir}/build" classpathref="jwsc.classpath">
    <module name="weboutput" explode="true" contextPath="${jwsc.contextpath}" >
      <jwsFileSet srcdir="${webservices.dir}" type="JAXRPC"> 
        <include name="**/*.java"/>
      </jwsFileSet> 
      <descriptor file="${jwsc.module.root}/WEB-INF/web.xml" />
      <descriptor file="${jwsc.module.root}/WEB-INF/weblogic.xml" />
    </module>
  </jwsc>
</target>

I have no idea what could be causing the compiler to throw this error at build time, and a day of google searching has turned up other instances of this error caused by different triggers, and solutions for those propblems didn't work for me. I also found a single report on the Oracle forums that seemed to be a carbon copy of this issue, but there were no replies.

The application is written in Weblogic Workshop 10, runs on Weblogic Server 10.3, and uses Beehive / NetUI. Not sure if that would make a difference or not though. The build scripts were automatically generated by Weblogic Workshop, with some tweaks and fixes made to other aspects of the files by myself to fix other compatability issues. I am using Java 1.6.0_23 from Sun, and Ant 1.8.1

Any help or advice would be greatly appreciated.

~~~EDIT~~~
Update: I found a workaround for this by changing the JDK on my system from Sun JDK to the JRockit JDK that ships with WebLogic. I guess JRockit has classes modified and optimised for WebLogic compared to the ones in the Sun JDK.

((Also, wasn't sure whether to put this in an edit or an answer, so opted for an edit. If this is the wrong place for this I apologise.))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

似狗非友 2024-10-15 19:13:48

在 jwsc 任务上使用 fork="true"。它解决了这个问题,无需切换到 JRockit。

Use fork="true" on jwsc task. It solved this problem without switching to JRockit.

春夜浅 2024-10-15 19:13:48

您遇到的错误是因为您的应用程序(实际上是 ant 任务)正在尝试访问对其有访问限制的类。这就是为什么它适用于 JRockit 而不是 Sun。

支持库之一可能有错误。您可能应该按照它的说明进行操作,并在适当的位置提交错误。

The error your experiencing is because your application (the ant task really) is attempting to access a class that has access restrictions on it. That is why it will work for you with JRockit and not Sun.

There is probably an error in one of the supporting libraries. You should probably do as it says and file a bug at the appropriate place.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文