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

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

Wednesday, March 12, 2008

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.

Related Articles

23 comments:

  1. Excellent article, it solved my problem quick and efficient.

    Thank you!
    Bradut Dima

    ReplyDelete
  2. 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

    ReplyDelete
  3. We faced the same error, thanks for posting the solution for us.

    ReplyDelete
  4. very good. right to the point with all and enough necessary information.
    thank you.

    ReplyDelete
  5. Great! Saved a lot of time :)

    ReplyDelete
  6. Thanks kamal, for posting this article.

    ReplyDelete
  7. Thanks a lot Kamal...earlier I had faced same problem and could not resolve it...

    ReplyDelete
  8. great!!! n thanks a lot. my problem got solved. :)

    ReplyDelete
  9. Thanks for the help!

    ReplyDelete
  10. thanks Kamal... you ROCKS

    ReplyDelete
  11. Thank you.. It worked...

    Vinod

    ReplyDelete
  12. Thanks,the solution really helped me fix my error quickly!

    ReplyDelete
  13. Thank you very very much! :D

    ReplyDelete
  14. thank you. that solved mine

    ReplyDelete
  15. 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!!!!!!!!!

    ReplyDelete
  16. 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.

    ReplyDelete
  17. Thanks was helpful

    ReplyDelete
  18. thnx...worked for me

    ReplyDelete
  19. Thank you.. worked for me ...

    ReplyDelete

Post Top Ad

Responsive Ads Here