如何解决Maven EAR插件:生成的EAR文件不包含WAR或EJB或RAR模块
我一直在使用EAR插件来打包WAR,EJB和RAR模块,尽管当我运行mvn clean package
时它们都成功打包了,但我注意到以下内容在目标目录中得到输出。
- application.xml(生成的application.xml)
- my-application-ear-1.0-SNAPSHOT(具有正确打包的WAR,EJB和RAR依赖关系的目录,带有生成的application.xml的META-INF以及EAR项目的其他资源)
- my-application-ear-1.0-SNAPSHOT.ear(9kb的.ear文件,只有META-INF以及生成的application.xml和EAR项目的其他资源)
最终的EAR文件中没有打包任何模块。
这是EAR项目的POM的<build>
节点。
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<finalName>my-application-ear</finalName>
<version>7</version>
<earSourceDirectory>src/main/application</earSourceDirectory>
<packagingIncludes>**/*</packagingIncludes>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<filtering>false</filtering>
<packagingIncludes>Default_HTTP_WC/**,Default_IIOP_WC/**,Default_JMS_WC/**,META-INF/**,</packagingIncludes>
<modules>
<ejbModule>
<groupId>com.abc.def</groupId>
<artifactId>ejb-module</artifactId>
<bundleDir>/</bundleDir>
<bundleFileName>ejbModule.jar</bundleFileName>
<moduleId>EjbModule_1</moduleId>
</ejbModule>
<rarModule>
<groupId>com.abc.def</groupId>
<artifactId>rar-module</artifactId>
<bundleDir>/</bundleDir>
<bundleFileName>RARModule</bundleFileName>
<uri>/RARModule.rar</uri>
<unpack>true</unpack>
<moduleId>RARModule_1</moduleId>
</rarModule>
<webModule>
<groupId>com.abc.def</groupId>
<artifactId>my-web-app</artifactId>
<uri>/WebApplication.war</uri>
<bundleDir>/</bundleDir>
<bundleFileName>WebApplication.war</bundleFileName>
<contextRoot>/foo</contextRoot>
<moduleId>WebModule_1</moduleId>
</webModule>
</modules>
</configuration>
<goals>
<goal>ear</goal>
</goals>
</plugin>
</plugins>
我想念什么吗?感谢您的协助。
解决方法
我发现了自己的问题,从上一个迭代开始,我完全忽略了<packagingIncludes>
的使用。并删除了它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。