Автоматическое развертывание файла войны на локальном экземпляре JBoss после фазы пакета с Maven
Когда я строю свой проект, я запускаю эту команду:
mvn clean package
Я хотел бы, чтобы полученный файл JAR был встроен в целевой каталог по умолчанию во время package
фаза, скопировать в другой каталог.
Как я могу сделать это с Maven?
2 ответа
Решение
По умолчанию папка, объявленная в Super POM, унаследована вашим pom.
<build>
<directory>${project.basedir}/target</directory>
</build>
Вы можете изменить его в своем файле pom.xml следующим образом:
<build>
<directory>${project.basedir}/yourFolder</directory>
</build>
Вы можете использовать плагин ant run, чтобы скопировать материал.
Следующее взято из pom от http://rhq-project.org/
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>deploy-jar-meta-inf</id>
<phase>package</phase>
<configuration>
<tasks>
<unjar src="${project.build.directory}/${project.build.finalName}.jar" dest="${rhq.deploymentDir}" overwrite="false">
<patternset>
<include name="META-INF/**" />
</patternset>
</unjar>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>undeploy</id>
<phase>clean</phase>
<configuration>
<tasks>
<property name="deployment.dir" location="${rhq.deploymentDir}" />
<echo>*** Deleting ${deployment.dir}${file.separator}...</echo>
<delete dir="${deployment.dir}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>