开发者

Including external jar in Tomcat ClassPath

In Tomcat I want to use a jar inside a web application. The jar file will exist outside of the Tomcat directory.

To include the jar file in tomcat c开发者_StackOverflowlasspath, I modified the TomcatHome/conf/catalina.properties to include the absolute path of my jar file like,

shared.loader=D:\jaa\MyJarFile.jar

as per the suggestion given in link,

http://www.mulesoft.com/tomcat-classpath

But it throws the error,

java.lang.NoClassDefFoundError

I have also tried ,

shared.loader=D:\jaa\*.jar

shared.loader=file:\\D:\jaa\MyJarFile.jar

None of them seem to work :(

If I try placing the jar inside tomcat/lib it seem to work. But I am not allowed to do that.

Please help me out with this issue as I have implementation the next week..


I figured myself how to add the classpath for tomcat. Instead of editing catalina.properties, just create a "setenv.sh" in the Tomcat Bin directory with the classpath,

Example,

CLASSPATH=D:\jaa\MyJarFile.jar

I just checked the catalina.sh in Tomcat/bin and these classpath variable will be set while setting the bootstrap as the classpath.


I was using IntelliJ and I tried everything like:

  1. Using CtrlAltShiftS (Project Settings) and adding a dependency of mysql-connector.jar. Didn't work. (The only thing that worked was that code completion inside IntelliJ was working fine.
  2. Adding mysql-connector.jar to apache-home/lib/ folder. Didn't work.
  3. Including mysql-connector.jar from Maven inside IntelliJ. Just didn't work.

The thing that worked for me:

Include the mysql-connector.jar file in the PROJECT/web/WEB-INF/lib folder.

No need to add it as a dependency anywhere. Just compile this and it will work fine.


I find myself copying extra JARs, which should be available for all contexts and should therefor go into the root loader, into the following directory:

 C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib

But this only possible if you have access to this directory, which might not be the case for all ISPs. At least you can do it at home.

Bye

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜