在tomcat类路径中包含web-inf / lib中的目录

时间:2012-07-02 14:48:11

标签: java tomcat classpath tomcat6

在我的网络应用中;默认情况下,在classpath中添加WEB-INF / lib,这很好。 现在,我想在tomcat的类路径中添加spring jar文件。如果我将所有jar文件放在WEB-INF / lib中;它工作正常。但是如果我想添加一个目录WEB-INF / lib / spring并将所有jar文件放在spring目录下;它不起作用。如何在类路径中包含WEB-INF / lib / spring。

我更愿意在web.xml中进行更改,因为它已经非常本地化到我的webapp。当然我不想在catalina.properties中进行更改,因为所有jar文件都在JVM中加载(不仅仅是在类路径中添加)

2 个答案:

答案 0 :(得分:5)

你不应该关心如何将jar文件分隔成war文件:它只被容器使用。隔离jar文件在源项目中很有用。但是,您只需要一个构建过程(使用ant,gradle等)将所有子目录中的所有jar文件复制到WEB-INF/lib。使用ant:

<copy todir="web/WEB-INF/lib" flatten="true">
    <fileset dir="lib">
        <include name="**/*.jar"/>
    </fileset>
</copy>

答案 1 :(得分:0)

由于事情并不关心JAR命名,另一种选择是简单地将前缀附加到JAR(即“spring-OLD JAR NAME.jar”)以保持相关的JAR在没有文件夹的情况下分组。