直接从 maven 部署 war 到 appserver
deploying war directly from maven to appserver
我想构建 war 文件并将其直接部署到应用服务器域。
下面的代码片段对此工作正常,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${version.maven.war.plugin}</version>
<configuration>
<outputDirectory>
C:\Program Files\glassfish\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>
</configuration>
</plugin>
我不想对路径进行硬编码。因此,我设置了系统变量 GLASSFISH_HOME : C:\Program Files\glassfish 并在 POM 文件中使用它,如下所示:
<outputDirectory>
${GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>
但它不起作用。
maven 正在项目的当前路径中创建一个目录,如下所示:
[信息] 大楼 war:C:\Workspaces\Workspace-
Restful\moviedirectory\${GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy\moviedirectory.war
关于如何避免硬编码路径但在使用 maven 构建时将 war 部署到应用程序服务器有什么建议吗?
看看How to refer environment variable in POM.xml?
所以下面应该做你想做的。
<outputDirectory>
${env.GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>
我想构建 war 文件并将其直接部署到应用服务器域。 下面的代码片段对此工作正常,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${version.maven.war.plugin}</version>
<configuration>
<outputDirectory>
C:\Program Files\glassfish\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>
</configuration>
</plugin>
我不想对路径进行硬编码。因此,我设置了系统变量 GLASSFISH_HOME : C:\Program Files\glassfish 并在 POM 文件中使用它,如下所示:
<outputDirectory>
${GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>
但它不起作用。 maven 正在项目的当前路径中创建一个目录,如下所示:
[信息] 大楼 war:C:\Workspaces\Workspace- Restful\moviedirectory\${GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy\moviedirectory.war
关于如何避免硬编码路径但在使用 maven 构建时将 war 部署到应用程序服务器有什么建议吗?
看看How to refer environment variable in POM.xml?
所以下面应该做你想做的。
<outputDirectory>
${env.GLASSFISH_HOME}\glassfish5\glassfish\domains\domain1\autodeploy
</outputDirectory>