maven-ear-plugin <packagingIncludes> 不包括项目文件
maven-ear-plugin <packagingIncludes> not including project files
我的ear项目结构如下:
我的 pom.xml 是这样的:
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<earSourceIncludes>META-INF/*</earSourceIncludes>
<packagingIncludes>META-INF/*,**/*.war</packagingIncludes>
<version>7</version>
<modules>
<webModule>
<groupId>com.ex</groupId>
<artifactId>one</artifactId>
</webModule>
</modules>
<generateApplicationXml>false</generateApplicationXml>
</configuration>
</plugin>
我想要的是在我的 ear 文件中包含 META-INF 文件夹的内容,该文件夹位于 ear 文件根目录中名为 META-INF 的类似文件夹中。
我尝试了 earSourceIncludes 和 packagingIncludes 的多种组合但没有成功:我的 ear 文件有链接的应用程序 .war,这很好,还有一个 META-INF 文件夹没有我想要的需要,而是一个预生成的 MANIFEST.MF 文件和一个带有 pom 的 maven 文件夹。
我想知道我是否需要 earSourceIncludes。老实说,我不知道为什么它不能只使用 packagingIncludes 参数。
您可以使用 maven-resource-plugin
将 META-INF 文件夹的内容包含到根 META-INF 文件夹中。见下文。
让
项目基目录 - ${project.basedir}
EAR 根目录 - ${project.rootdir}
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/META-INF</outputDirectory>
<resources>
<resource>
<directory>${project.rootdir}/META-INF</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
我的ear项目结构如下:
我的 pom.xml 是这样的:
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<earSourceIncludes>META-INF/*</earSourceIncludes>
<packagingIncludes>META-INF/*,**/*.war</packagingIncludes>
<version>7</version>
<modules>
<webModule>
<groupId>com.ex</groupId>
<artifactId>one</artifactId>
</webModule>
</modules>
<generateApplicationXml>false</generateApplicationXml>
</configuration>
</plugin>
我想要的是在我的 ear 文件中包含 META-INF 文件夹的内容,该文件夹位于 ear 文件根目录中名为 META-INF 的类似文件夹中。
我尝试了 earSourceIncludes 和 packagingIncludes 的多种组合但没有成功:我的 ear 文件有链接的应用程序 .war,这很好,还有一个 META-INF 文件夹没有我想要的需要,而是一个预生成的 MANIFEST.MF 文件和一个带有 pom 的 maven 文件夹。
我想知道我是否需要 earSourceIncludes。老实说,我不知道为什么它不能只使用 packagingIncludes 参数。
您可以使用 maven-resource-plugin
将 META-INF 文件夹的内容包含到根 META-INF 文件夹中。见下文。
让
项目基目录 - ${project.basedir}
EAR 根目录 - ${project.rootdir}
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/META-INF</outputDirectory>
<resources>
<resource>
<directory>${project.rootdir}/META-INF</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>