[英]Tomcat webapp NoClassDefFoundError with jar on classpath
[英]Provide additional classpath on jar having embedded Tomcat
我有一個包含嵌入式Tomcat的可執行jar,這是由tomcat7-maven-plugin:tomcat7:exec-war創建的。
我需要為一些Jar提供額外的類路徑,因為我不能將它們直接包含在我的可執行文件Jar中。 我該如何提供此類路徑?
export CLASSPATH
,因為catalina.sh/.bat
擦除CLASSPATH
值。 setenv.sh/.bat
因為可執行Jar是由maven插件創建的。 catalina.properties
更新屬性common.loader
,因為我無法控制由maven插件生成的此文件。 注意:我不想在可執行文件Jar中指定lib的硬編碼路徑。
實際上,WEB-INF / lib中WAR文件中的任何jar文件都在WAR文件類加載器的類路徑中。 所以,你可以將你的額外jar包裝成戰爭。 我不熟悉maven tomcat插件,但只是看看它的選項。 它必須能夠將額外的jar放入war文件中(可能只是通過compile
或“運行時”范圍內的依賴項。這是一個標准功能。
如果你的額外jar必須在戰爭之外,你必須在運行可執行jar時在Java的系統類路徑中給它(通過-cp參數,我猜)。 或者您可以在jar的MANIFEST.MF文件中定義它的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.