我的maven项目中有3个模块用于jar,war和ear包。当我构建JAR文件时,我将一些XML文件添加到META-INF目录(如jboss.xml或ejb-jar.xml)。 如果我构建EAR,那么包中包含jar文件但在META-INF中没有XML文件......
我很困惑,因为我不知道如何改变它。请帮忙
答案 0 :(得分:3)
最简单的解决方案是将适当的文件放入src/main/application
文件夹。如果是META-INF
,您只需将此文件夹添加到src/main/application
文件夹中,打包后文件将打包到EAR文件中。
答案 1 :(得分:0)
示例Maven项目
<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>fun</groupId>
<artifactId>fun</artifactId>
<version>1.0</version>
<packaging>ear</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<finalName>MyEarFile</finalName>
<version>5</version>
<generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
<modules>
<webModule>
<groupId>fun</groupId>
<artifactId>fun</artifactId>
<uri>fun.war</uri>
<bundleFileName>fun.war</bundleFileName>
<contextRoot>/fun</contextRoot>
</webModule>
</modules>
</configuration>
</plugin> <plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>fun</groupId>
<artifactId>fun</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
</dependencies>
</project>