我的Grails / Gradle制作了我的Web服务,其中包含许多依赖性jar,使得战争大小很重,部署在tomcat8中。我的战争是否有任何方式可以使用来自不同位置的依赖关系,以便我的战争可以从这些批量依赖库中免除。
答案 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系统,自动执行此操作。