我已尝试将所有内容添加到我的application.xml文件中,但maven-ear-plugin将无法识别我的pom文件中的应用程序名称属性testEar。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<generateApplicationXml>true</generateApplicationXml>
<applicationName>testEAR</applicationName>
<earSourceDirectory>${basedir}/src/main/resources</earSourceDirectory>
<resourcesDir>target/classes</resourcesDir>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<modules>
<JarModule>
<groupId>org</groupId>
<artifactId>test-client</artifactId>
<includeInApplicationXml>true</includeInApplicationXml>
</JarModule>
</modules>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
答案 0 :(得分:9)
我确定maven ear插件默认是创建一个非EE6 application.xml,它不支持application-name。
我需要在ear插件中添加一个新的xml元素(版本)来指定EE6。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<generateApplicationXml>true</generateApplicationXml>
<applicationName>testEAR</applicationName>
<earSourceDirectory>${basedir}/src/main/resources</earSourceDirectory>
<resourcesDir>target/classes</resourcesDir>
<version>6</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<modules>
<JarModule>
<groupId>org</groupId>
<artifactId>test-client</artifactId>
<includeInApplicationXml>true</includeInApplicationXml>
</JarModule>
</modules>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin> </plugins>
答案 1 :(得分:0)
我遇到了同样的问题,就我而言,事实证明Maven没有生成application.xml文件。 解决方案是从pom.xml中删除选项:
<generateApplicationXml>true</generateApplicationXml>
默认值为“ true”,因此此行不是必需的...这样就解决了该问题