java - 将war直接从maven部署到appserver

标签 java maven glassfish maven-3 payara

我想构建我的 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/

相关文章:

java - 如何更改我在 IntelliJ(和 Maven)中使用的 Java 版本?

java - 如何以编程方式删除/暂停 Activiti 中的流程实例?

java - Java 中的 Mercurial 服务器,无需 python 和 hg 命令

java - json-Java中简单的utf-8解析

java - Selenium - Java//将浏览器实例传递给另一个方法

java - 如何使用 java 和 maven 下载、解压并将 zip 文件内的专有 jar 添加到编译中

java - Maven 没有拉动我的依赖

java - Glassfish 4 与 EMF Texo - JPA 无持久性提供程序

java - 部署到实例时 EJB 计时器服务不可用

glassfish - 使用 GlassFish v4 自定义 JSON 编码