Java News Tips Software
Java News Tips Software | Contact | Facebook | Twitter RSS

Axis Web services Problem: No compiler found in your classpath! (you may need to add 'tools.jar')

java.lang.RuntimeException: No compiler found in your classpath! (you may need to add 'tools.jar')

While trying to deploy a web service in Tomcat (1.5) with Axis 1.4, you may have encountered the above error message. If you have faced with that, following information will help you in fixing it.

If you are at servier side, this error may be logged in Tomcat log file as follows.
- No compiler found in your classpath! (you may need to add 'tools.jar')
java.lang.ClassNotFoundException: sun.tools.javac.Main
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
....


On client side, you'll receive this error as follows.
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.RuntimeException: No compiler found in your classpath! (you may need to add 'tools.jar')
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:myhost


So the obvious solution you would try is adding %JAVA_HOME%\lib\tools.jar into your CLASSPATH variable even if you were at server side or the client side. But this will not solve the issue.

Solution:
Copy %JAVA_HOME%\lib\tools.jar file into %CATALINA_HOME%\common\lib folder and restart tomcat.

Why %JAVA_HOME%\lib\tools.jar is not identified?
If you check happyaxis.jsp page (http://127.0.0.1:8080/axis/happyaxis.jsp); under "Examining System Properties" you'll see that property java.home is set to the JRE path, not the JDK path in your machine. (even though %JAVA_HOME% points to JDK installation). In my machine it looked as follows.

java.vm.version=1.6.0_03-b05
java.home=C:\Java\jre1.6.0_03

I'm not sure why the JAVA_HOME is not identified correctly, but this solved the issue for me.

Labels: , , ,


28 Comments

  1. Why are you guys still using Axis? Axis2(ws.apache.org/axis2) is one of the best generation 3 WS engines. Better still, try WSO2 WSAS (http://wso2.org/projects/wsas/java) which is the enterprise ready version of Axis2
  2. Anonymous Anonymous on June 19, 2008 10:39 PM  
    Excellent article, it solved my problem quick and efficient.

    Thank you!
    Bradut Dima
  3. while deployin the webservices the following occurs



    > java org.apache.axis.client.AdminClient org\
    kamal\wssample\ws\generated\deploy.wsdd
    Processing file org\kamal\wssample\ws\generated\deploy.wsdd
    Exception: AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (404)Not found
    faultActor:
    faultNode:
    faultDetail:
    {}:return code: 404
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <HTML><HEAD>
    <TITLE>404 Not found</TITLE>
    </HEAD><BODY><H1>Not found</H1>
    The requested URL /axis/services/AdminService was not found on this server</BODY></HTML>


    {http://xml.apache.org/axis/}HttpErrorCode:404
  4. Seems you have posted a comment here, but related to web services tutorial . Please refer to that for the answer.
  5. We faced the same error, thanks for posting the solution for us.
  6. very good. right to the point with all and enough necessary information.
    thank you.
  7. Anonymous Anonymous on October 02, 2008 1:41 AM  
    Great! Saved a lot of time :)
  8. Anonymous Anonymous on December 01, 2008 1:37 AM  
    Thanks kamal, for posting this article.
  9. Anonymous Anonymous on February 03, 2009 1:55 AM  
    Thank you!!!
  10. Thanks a lot Kamal...earlier I had faced same problem and could not resolve it...
  11. thank you for ur help
  12. thank for you help
  13. Anonymous Anonymous on April 18, 2009 3:44 PM  
    great!!! n thanks a lot. my problem got solved. :)
  14. Nice analysis,Thanks a lot.
  15. Anonymous Anonymous on July 31, 2009 11:48 PM  
    Thanks for the help!
  16. thanks Kamal... you ROCKS
  17. Anonymous Anonymous on October 19, 2009 7:28 PM  
    Thank you.. It worked...

    Vinod
  18. Anonymous Anonymous on November 10, 2009 9:44 PM  
    Thanks,the solution really helped me fix my error quickly!
  19. Anonymous Anonymous on May 08, 2010 8:46 PM  
    Hi

    I slightly modified the package notation. When I try to deploy I keep getting the following error. Help!!

    E:\C Drive\ENV\Personal\WS\src>java org.apache.axis.client.AdminClient org\calc\
    ws\generated\deploy.wsdd
    Processing file org\calc\ws\generated\deploy.wsdd
    Exception: AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
    faultSubcode:
    faultString: java.lang.AbstractMethodError: javax.xml.parsers.SAXParser.getXMLR
    eader()Lorg/xml/sax/XMLReader;; nested exception is:
    java.lang.AbstractMethodError: javax.xml.parsers.SAXParser.getXMLReader(
    )Lorg/xml/sax/XMLReader;
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}hostname:TSILPDL02
  20. Anonymous Anonymous on May 29, 2010 12:41 AM  
    Thank you very very much! :D
  21. This comment has been removed by a blog administrator.
  22. thank you. that solved mine
  23. Anonymous Anonymous on December 22, 2010 1:01 PM  
    Excellent Article I had the same problem and luckily I viewed the solution posted by you and it solved my problem within minutes.
    Thank You Very Much!!!!!!!!!
  24. Good tip, fixed my issue! Thanks for posting.

    For Tomcat 6.0 and later, you can actually just add the tools.jar to the TOMCAT_HOME/lib folder. The common/lib and server/lib folders went out after Tomcat 5.5.
  25. Thanks was helpful
  26. Anonymous Anonymous on November 05, 2011 1:10 PM  
    thnx...worked for me
  27. Anonymous Anonymous on July 26, 2012 6:53 PM  
    Thank you.. worked for me ...
  28. Anonymous Anonymous on November 25, 2013 2:47 PM  
    This comment has been removed by a blog administrator.
ABOUT AUTHOR
Page Views :
Email :
PREVIOUS ARTICLES
Select Month:
TOP
Free counter and web stats