我在Maven WAR项目的目录中resources/components
有许多复合组件。我希望使我的复合组件可重用,而是将它们单独打包在 JAR 中(它们可能与 ManagedBeans
相关联。
许多现有问题,例如这个问题,涉及相同或类似的任务。但是,没有一个指定如何使用Maven来自动化该过程。
我宁愿不使用蚂蚁。
我建议使用maven-antrun-pluin。下面是一个经过验证的示例:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>prepare-deploy-package</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy todir="${project.build.directory}/${project.build.finalName}/META-INF/resources" overwrite="true">
<fileset dir="src/main/resources">
</fileset>
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
这对我有用:
<resources>
<resource>
<directory>src/main/webapp/resources</directory>
<targetPath>META-INF/resources</targetPath>
</resource>
<resource>
<directory>src/main/webapp/WEB-INF/</directory>
<targetPath>META-INF</targetPath>
</resource>
</resources>
确保有:
<packaging>war</packaging>
还启用了 maven 插件,以允许 Netbeans 将项目识别为 Web 项目:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>