有没有办法将jar库指向与tomcat 8中的war不同的位置以减小战争大小?

时间:2017-09-01 09:53:19

标签: java tomcat grails gradle

我的Grails / Gradle制作了我的Web服务,其中包含许多依赖性jar,使得战争大小很重,部署在tomcat8中。我的战争是否有任何方式可以使用来自不同位置的依赖关系,以便我的战争可以从这些批量依赖库中免除。

2 个答案:

答案 0 :(得分:1)

如果你正在使用maven,你可以做点什么。在所有家属中,您不希望在WAR文件中包含添加标记。

    <dependency>
        <groupId>org.python</groupId>
        <artifactId>jython-standalone</artifactId>
        <version>2.7.0</version>
        <scope>provided</scope>
    </dependency>

然后,当maven构建你的WAR文件时,会生成一个lib-provided文件夹,你可以摆脱这个文件夹并减少你的战争规模。

您不希望包含在WAR中的所有家属,您应将它们放入TOMCAT_HOME / lib中,Tomcat将检查项目的库以及此文件夹中的jar。

重要:我永远不会这样做,因为你依赖于某个特定的应用程序服务器,如果你试图在另一个服务器上部署你的WAR,如果你更新了您必须在应用程序服务器中手动更新它们的maven依赖项。

所以我非常愿意选择另一个选项,而不是这个,我会让你的WAR独立于任何应用服务器。

答案 1 :(得分:-1)

将您的项目检入Git(当然没有jar)并在您的服务器上创建一个脚本来检查它,构建它(使用Maven或Gradle)并将其部署到Tomcat。

查看像Bamboo或Jenkins这样的Continous Integration系统,自动执行此操作。