直接从 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>