java
명령을 사용하여 WsImport를 직접 실행하고 싶습니다. CLASSPATH 환경을 설정 한 상태에서 다음 명령을 사용하고 있습니다.NoClassDefFoundError
$ java com.sun.tools.ws.WsImport -d /home/bence/NetBeansProjects/WebFormsTest/build/generated-sources/jax-ws -Xendorsed -keep -B-jaxb-facets -wsdl -r /home/bence/NetBeansProjects/WebFormsTest/build/generated-sources/jax-ws/resources -s /home/bence/NetBeansProjects/WebFormsTest/build/generated-sources/jax-ws -verbose org.czentral.test.service.AdminService
제목에 오류 메시지가 표시됩니다. 모든 세부 사항 :
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/xjc/Plugin
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1058)
at java.lang.ClassLoader.loadClass(ClassLoader.java:413)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at com.sun.istack.tools.MaskingClassLoader.loadClass(MaskingClassLoader.java:82)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:363)
at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
at com.sun.tools.xjc.Options.findServices(Options.java:952)
at com.sun.tools.xjc.Options.getAllPlugins(Options.java:374)
at com.sun.tools.xjc.Options.parseArgument(Options.java:692)
at com.sun.tools.ws.wscompile.WsimportOptions.parseArguments(WsimportOptions.java:326)
at com.sun.tools.ws.wscompile.WsimportOptions.parseArguments(WsimportOptions.java:232)
at com.sun.tools.ws.wscompile.WsimportTool.parseArguments(WsimportTool.java:359)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:193)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.tools.ws.Invoker.invoke(Invoker.java:135)
at com.sun.tools.ws.WsImport.main(WsImport.java:57)
자, 여기까지 합리적인 설명은 클래스 경로에서 누락 된 .jar
될 것이다.
$ java com.sun.tools.xjc.Plugin
Error: Main method not found in class com.sun.tools.xjc.Plugin, please define the main method as:
public static void main(String[] args)
그래서 클래스 로더가 실제로 가 클래스를로드 할 수 있습니다 :하지만 실제로 다음과 같이 확인 올바른 단지를 보유하고 있습니다.
어떤 오류가 발생합니까?
고맙습니다. 예외가 말하는 것에 대해 잘 알고 있습니다. 제 질문의 마지막 몇 단락을 읽으십시오. – vbence