[英]Specify Apache Tomcat “lib” folder in Maven
在Apache Tomcat 9 中, JNDI 資源操作指南頁面底部有一個部分, 添加自定義資源工廠。
要編寫實現 JNDI 服務提供者javax.naming.spi.ObjectFactory
接口的 class,文檔說:
您需要針對包含 $CATALINA_HOME/lib 目錄中所有 JAR 文件的 class 路徑編譯此 class。
該lib
文件夾包含:
websocket-api.jar
tomcat-jni.jar
tomcat-util-scan.jar
tomcat-util.jar
tomcat-websocket.jar
tomcat-i18n-pt-BR.jar
tomcat-i18n-ru.jar
tomcat-i18n-zh-CN.jar
tomcat-jdbc.jar
tomcat-i18n-ja.jar
tomcat-i18n-ko.jar
tomcat-i18n-cs.jar
tomcat-i18n-de.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
jaspic-api.jar
jsp-api.jar
servlet-api.jar
tomcat-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
el-api.jar
jasper-el.jar
jasper.jar
catalina-tribes.jar
catalina.jar
ecj-4.12.jar
catalina-ha.jar
catalina-storeconfig.jar
annotations-api.jar
catalina-ant.jar
➥ 如何在 Maven 驅動的項目中滿足這個要求?
我當然不希望將所有這些 jars 捆綁到我的 web 應用程序生成的 WAR 文件中。
從文檔中不清楚真正需要什么,但一般來說,您的pom.xml
中會包含以下內容:
<dependency>
<groupId>jndi</groupId>
<artifactId>jndi</artifactId>
<version>1.2.1</version>
<scope>provided</scope>
</dependency>
關鍵是provided
的scope。 這意味着編譯需要該庫,但不應將其包含在打包中。 換句話說,它是由目標部署環境提供的。
話雖如此,您提供的鏈接是用於編寫自定義資源工廠。 它不是一個.war
文件,而是一個.jar
文件,您可以將其安裝到 Tomcat 中以對其進行擴展。 這就是你所追求的嗎? 如果您只需要進行 JNDI 查找,那么我提供的 XML 塊將適用於您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.