我想构建我的 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正在项目的当前路径中创建一个目录,如下所示:
[INFO] 构建 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>
关于java - 将war直接从maven部署到appserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53022036/