2011-05-28 156 views
14

在Tomcat中我想在web应用程序中使用jar。该jar文件将存在于Tomcat目录之外。在Tomcat中包含外部jar ClassPath

要在Tomcat的classpath中的jar文件,我修改了TomcatHome/conf目录/ catalina.properties,包括我的jar文件一样的绝对路径,

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

按在链接中给出的建议,

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

但它引发错误,

java.lang.NoClassDefFoundError 

我也试过,

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

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

他们都不似乎工作:(

如果我试着将罐子里面的tomcat/lib下它似乎工作。但我不能这样做。

请帮我出这个问题,因为我有下周实现..

+0

你尝试:'文件://路径/到/文件夹名/ jarname.jar'你的语法不同 – Cratylus 2011-05-28 19:40:47

+0

的Tomcat提高IllegalArgumentsException当我用正斜杠(/),而服务器启动。所以我得使用反斜线(文件:\\ D:\ jaa \ PatMS.jar) – Sathesh 2011-05-29 06:51:07

+0

[如何将JAR库添加到WAR项目而不面临java.lang.ClassNotFoundException? Classpath vs Build Path vs /WEB-INF/lib](http://stackoverflow.com/questions/6792197/how-to-add-jar-libraries-to-war-project-without-facing-java-lang-classnotfoundex ) – 2016-08-18 10:05:23

回答

10

我想自己如何添加类路径为Tomcat。除了修改catalina.properties的,只需创建与类路径中Tomcat的bin目录下的 “setenv.sh”,

例,

CLASSPATH=D:\jaa\MyJarFile.jar 

我只是检查了catalina.sh在Tomcat的/ bin和这些classpath变量将在设置bootstrap作为类路径时设置。

+1

感谢分享解决方案 – jabal 2011-05-31 08:51:31

+2

值得注意的是''CLASSPATH'环境变量显式*未设置'catalina.sh',所以你必须使用编辑'setenv.sh'来设置它。 – z0r 2014-06-12 03:06:05

0

我发现自己复制额外的JAR文件,这应该是适用于所有情况,并应为此进入根装载器,到以下目录:

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

但这只是可能的,如果你有机会到这个目录,所有ISP可能都不是这种情况。至少你可以在家里做。

再见

+1

这使得jar文件可用于服务器中部署的所有Web应用程序。这个问题提到了一个Web应用程序。 – Sathesh 2016-08-17 22:45:20

+0

对于Web应用程序,将其放入Web应用程序上下文的WEB-INF/lib中。它将被上下文类加载器自动加载。 – 2016-08-18 10:03:53

相关问题