我试图使用货物maven插件只是从maven启动JBoss AS 7服务器,而不执行任何部署。
我能够启动服务器但是因为我可以读取货物插入documentation目标货物:运行和货物:如果项目的包装是Java,start将自动部署当前项目EE(WAR,EAR等),如果我没有在插件配置中使用可部署的部分。
这是我在pom文件中的简单货物插件部分:
<plugins>
...
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.13</version>
<configuration>
<!-- Container configuration -->
<container>
<containerId>jboss73x</containerId>
<home>${jboss-as.home}</home>
</container>
</configuration>
</plugin>
...
</plugins>
由于我没有使用可部署资源且项目打包是战争,因此货物会在服务器启动时自动部署我的项目。
我想使用目标货物:运行只是为了启动我的本地服务器而不部署任何项目工件。
货物专家插件可以吗?有什么想法或替代方案吗?
答案 0 :(得分:1)
我认为,当您处于可部署的归档项目时,可能无法要求插件不部署配置它的项目。
但你可以做的是创建一个pom项目,其中没有源代码只是pom.xml,并在该项目中运行你的货物插件。
下面的示例在我运行目标install
时启动和停止货物插件:
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.fabien.perso</groupId>
<artifactId>pom-project-tests</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
<configuration>
<container>
<type>embedded</type>
</container>
</configuration>
</plugin>
</plugins>
</build>
</project>
答案 1 :(得分:0)
是的Yersan,可以在没有自建工件部署的情况下启动服务器。可以通过在项目的<deployer />
标记上添加空<configuration>
元素来实现。
我在货物插件reference site找到了信息。另外,我已在本地项目中测试了配置,以确认它是否有效。