目前我的项目设置是这样的,当我在我的 maven 项目上进行清理和安装时,它会下载 pom.xml 中提到的 tomcat 版本并将war文件部署到它上面。
我需要更改配置,以便将战争文件部署到我手动下载的 tomcat 上,而不是一个 maven 下载。这是为了利用我为手动下载的 tomcat 配置的设置。
可能吗?如果是,如何?
目前我的项目设置是这样的,当我在我的 maven 项目上进行清理和安装时,它会下载 pom.xml 中提到的 tomcat 版本并将war文件部署到它上面。
我需要更改配置,以便将战争文件部署到我手动下载的 tomcat 上,而不是一个 maven 下载。这是为了利用我为手动下载的 tomcat 配置的设置。
可能吗?如果是,如何?
你可以试试tomcat-maven-plugin,它可以让你通过 context.xml、exploded war 或简单的 war 文件部署到现有的 tomcat 实例中。
我知道你可能想要一个Maven
-only 答案 - 我也这样做了。但是,我发现最简单但最灵活的做法是使用 Maven 构建战争,并使用ANT
. tomcat-maven-plugin 对我来说不够强大,因为我需要将 .war 部署到本地Tomcat
安装和使用scp
.
这是我的ANT
build.xml
文件的样子:
<?xml version="1.0"?>
<target name="deploy_local">
<echo>Deploying .war to local Tomcat</echo>
<copy file="target/My.war" todir="/tomcat/webapps">
</copy>
</target>
<target name="deploy_production">
<echo>Deploying .war to production Tomcat</echo>
<move file="target/My.war" tofile="target/ROOT.war"/>
<scp file="target/ROOT.war"
trust="true"
todir="me:password@154.14.232.122:/tomcat/webapps"
port="22">
</scp>
</target>
您可以看到我什至将 .war 文件从 My.war 重命名为 ROOT.war 以用于生产部署。
完整的过程是:mvn clean package
然后运行本地或生产ANT
目标以进行部署。