如果您有maven-war-plugin,那么我们可以指示maven 将WAR 复制到tomcat 中的所需位置。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<outputDirectory><!-- Webapps directory location inside the Tomcat. Something like D:\ProgramFiles\apache-tomcat-9.0.30\webapps--></outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
如果你的依赖被标记为provided的范围,那么这些库需要手动复制到tomcat里面的lib目录下或者你可以使用maven-dependency-plugin。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${tomcat.directory}/lib</outputDirectory>
<includeScope>compile</includeScope>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
为外部库设置一个单独的目录总是更好的做法。 tomact 里面有lib\ext\ 之类的东西。
然后,该目录应列在 tomcat 内 \conf 目录中的 catalina.properties 中。
common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar,"${catalina.home}/lib/ext","${catalina.home}/lib/ext/*.jar""
如果您的依赖项属于 compile 范围或未指定范围(即默认情况下它们具有 compile 范围)。然后,它们将与 WAR 文件捆绑在一起,因此无需将它们复制到上述目录。
以上将帮助您将 WAR 部署到外部 tomcat 中。将 WAR 文件复制到 webapps 目录并将所需的 jar 文件 [如果有] 复制到 lib [或 ext] 目录后,您可以在 Windows 中使用 bin\startup.bat 或 'bin\startup.sh 启动 tomcat '在Linux系统中