簡體   English   中英

在 Maven 中指定 Apache Tomcat “lib”文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM