Eclipse で Web サービス (Axis2) を作成し、Glassfish サーバーにデプロイしました。
Axis2-web は正常に動作しますが、サービスの WSDL を要求すると、次のような例外が返されます。
Caused by: java.lang.NoClassDefFoundError: javax/lang/model/element/Element
at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.<init>(WebServiceWrapperGenerator.java:130)
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAp.process(WebServiceAp.java:181)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
at com.sun.tools.javac.main.Main.compile(Main.java:439)
... 42 more
Caused by: java.lang.ClassNotFoundException: javax.lang.model.element.Element not found by com.sun.xml.bind [150]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 52 more
通常、NoClassDefFoundError
依存関係が欠落していることを意味しますが、「javax.lang.model.element.Element」は JRE (「rt.jar」) からのものであるため、ここで何が問題なのかわかりません。
詳細: Eclipse Juno、Glassfish 3.1.2、Axis2-1.6.2、動的 Web プロジェクト