2011-03-17 6 views
0

우리는 wscompile ant 작업을 사용하고 classnotfound 오류가 발생했습니다.ClassNotFoundException wscompile 작업을 사용하여

[wscompile에] RmiModeler 오류 : java.lang.ClassNotFoundException가 : 조직 $ SOA $ 비누 $의 UserService [wscompile에] com.sun.xml.rpc.processor.modeler.rmi.RmiModeler.modelPort (RmiModeler.java에서 : 685) com.sun.xml.rpc.processor.modeler.rmi.RmiModeler.buildLiteralModel (RmiModeler.java:603)에서 [wscompile] com.sun.xml.rpc.processor.modeler.rmi의 [wscompile]. RmiModeler.buildModel (RmiModeler.java:457) com.sun.xml.rpc.processor.config.ModelInfo.buildModel (ModelInfo.java:88)에서 [wscompile] com.sun.xml.rpc에서 [wscompile]. processor.Processor.runModeler (Processor.java:63) [wscompile] at com.sun.xml.rpc.tools.wscompile.CompileTool.run (CompileTool.java:714) [wscompile] com.sun.xml.rpc.util.ToolBase.run (ToolBase.java:43)에서 [wscompile] at com.sun.xml.rpc.tools.ant.Wscompile.execute (Wscompile.java:746) [ [wscompile] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:291) sun.reflect.GeneratedMethodAccessor6.invoke (알 수없는 소스)에서 [wscompile] [wscompile at sun.reflect.DelegatingMethodAccessorImpl.invoke DelegatingMethodAccessorImpl.java:25) [wscompile] at java.lang.reflect.Method.invoke (Method.java:592) [wscompile] at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java : 106) [wscompile] at org.apache.tools.ant.Task.perform (Task.java:348) [wscompile] at org.apache.tools.ant.Target.execute (Target.java:390) [ wscompile] at org.a pache.tools.ant.Target.performTasks (Target.java:411) [wscompile] at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1397) [wscompile] at org.apache.tools. ant.Project.executeTarget (Project.java:1366) [wscompile] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets (DefaultExecutor.java:41) [wscompile] at org.apache.tools.ant. Project.executeTargets (Project.java:1249) [wscompile] at org.apache.tools.ant.Main.runBuild (Main.java:801) [wscompile] at org.apache.tools.ant.Main.startAnt (Main.java:218) [wscompile] at org.apache.tools.ant.launch.Launcher.run (Launcher.java:280) [wscompile] at org.apache.tools.ant.launch.Launcher.main (Launcher.java:109) [wscompile] [wscompile] 원인 :

재미있는 점은 서비스가 없으면 클래스 파일이 올라가지 않는다는 것입니다 ... 개미 또는 wscompile의 메모리 설정이 있어야한다고 생각합니다. ?

<wscompile server="true" 
       keep="true" 
       features="documentliteral" 
       sourceBase="${gen.dir}/wscompile/src" 
       nonClassDir="${gen.dir}/wscompile/nd" 
       base="${gen.dir}/wscompile/classes" 
       model="${gen.dir}/wscompile/user-model.gz" 
       xPrintStackTrace="true" 
       verbose="true" 
       config="build/config-user_service.xml"> 
     <classpath> 
     <pathelement path="dist/lib/$javacode.jar}"/> 
     </classpath> 
    </wscompile> 

javacode.jar의 크기가 52MB 인 경우이 작동하고 크기가 53MB로 증가하면 위의 오류가 발생합니다.

답변

0

퍼펙 젠 (PermGen)에 메모리가 부족한 것 같습니다. PermGen은 각 클래스에 대한 메타 정보를 저장하므로 클래스 수가 많을수록 더 커집니다. MaxPermSize을 wscompile 작업으로 전달하고 문제가 해결되는지 확인하십시오.

+0

이 설정 방법에 대한 예가 있습니까? 여러 옵션을 시도했지만 작동하지 않았습니다. –

+0

@Java Guy 페이지 [여기] (http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html)로 이동하여 'MaxPermSize'를 검색하십시오. – Melv

관련 문제