可以使用 Maven 插件在 WildFly 上部署 CLI 存档吗?
Can CLI archives be deployed on WildFly using Maven plugin?
如何在 WildFly (8-10) 中使用 wildfly-maven-plugin 部署 CLI 存档(压缩)?
我创建了一个 simple example:一个带有 archive.cli 文件的 Maven 项目。此存档将部署 PostgreSQL jdbc 驱动程序。
如果我使用 jboss-cli.sh/bat 部署它,它会按预期工作:PostgreSQL 驱动程序将显示为部署。
尝试:
deploy src/main/archive.cli
如果我使用 maven-wildfly-plugin 部署它,WildFly 将部署文件但不会 unzip/expand 它 - 我有一个无用的 archive.cli 文件作为部署,但没有安装的驱动程序。为什么?
尝试:
mvn validate
我的 pom.xml 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<name>deploy-archive-cli</name>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>deploy-archive-cli</artifactId>
<version>1</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.2.1.Final</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<filename>archive.cli</filename>
<targetDir>src/main/</targetDir>
<skip>false</skip>
<checkPackaging>false</checkPackaging>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
项目结构如下所示:
.
├── pom.xml
└── src
└── main
├── archive
│ ├── deploy.scr
│ ├── postgresql-42.2.1.jar
│ └── undeploy.scr
└── archive.cli
Java8。我试过使用 deploy-artifact、Win/Linux、WildFly 8-10...我可以配置 wildfly-maven-plugin 并告诉它扩展工件吗?一个例子将不胜感激。
我知道替代方案是使用 Maven 或 运行 jboss-cli 部署 EAR/WAR/JAR 工件,但这是一个 IT 部门想要处理它的方式。应该可以吧?
简单示例Maven工程可以下载here
谢谢,
延斯
我认为 CLI 部署是 CLI 的一部分,不会由正常的部署操作处理。但是在 maven 插件中你可以执行 CLI 命令。
对于您的示例,pom 配置如下所示。
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.2.1.Final</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute-commands</goal>
</goals>
<configuration>
<commands>
<command>deploy --path=${project.basedir}/src/main/archive.cli</command>
</commands>
</configuration>
</execution>
</executions>
</plugin>
需要注意的一件事是在测试时我发现 WFMP-94。如果您使用 Java 1.8.0_161,您可能会 运行 进入此错误。它在 Oracle JDK 1.8 上对我来说运行良好。0_151 然而。
如何在 WildFly (8-10) 中使用 wildfly-maven-plugin 部署 CLI 存档(压缩)?
我创建了一个 simple example:一个带有 archive.cli 文件的 Maven 项目。此存档将部署 PostgreSQL jdbc 驱动程序。
如果我使用 jboss-cli.sh/bat 部署它,它会按预期工作:PostgreSQL 驱动程序将显示为部署。
尝试:
deploy src/main/archive.cli
如果我使用 maven-wildfly-plugin 部署它,WildFly 将部署文件但不会 unzip/expand 它 - 我有一个无用的 archive.cli 文件作为部署,但没有安装的驱动程序。为什么?
尝试:
mvn validate
我的 pom.xml 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<name>deploy-archive-cli</name>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>deploy-archive-cli</artifactId>
<version>1</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.2.1.Final</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<filename>archive.cli</filename>
<targetDir>src/main/</targetDir>
<skip>false</skip>
<checkPackaging>false</checkPackaging>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
项目结构如下所示:
.
├── pom.xml
└── src
└── main
├── archive
│ ├── deploy.scr
│ ├── postgresql-42.2.1.jar
│ └── undeploy.scr
└── archive.cli
Java8。我试过使用 deploy-artifact、Win/Linux、WildFly 8-10...我可以配置 wildfly-maven-plugin 并告诉它扩展工件吗?一个例子将不胜感激。
我知道替代方案是使用 Maven 或 运行 jboss-cli 部署 EAR/WAR/JAR 工件,但这是一个 IT 部门想要处理它的方式。应该可以吧?
简单示例Maven工程可以下载here
谢谢,
延斯
我认为 CLI 部署是 CLI 的一部分,不会由正常的部署操作处理。但是在 maven 插件中你可以执行 CLI 命令。
对于您的示例,pom 配置如下所示。
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.2.1.Final</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute-commands</goal>
</goals>
<configuration>
<commands>
<command>deploy --path=${project.basedir}/src/main/archive.cli</command>
</commands>
</configuration>
</execution>
</executions>
</plugin>
需要注意的一件事是在测试时我发现 WFMP-94。如果您使用 Java 1.8.0_161,您可能会 运行 进入此错误。它在 Oracle JDK 1.8 上对我来说运行良好。0_151 然而。