2011-05-28 107 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