每
this answer
,
META-INF/ibm-application-bnd.xml
-虽然没有文档-但可以在web存档中使用。
那么我已经
mvn package
我的项目,并输入它的war文件(仅显示相关文件):
Length Date Time Name
--------- ---------- ----- ----
0 2021-04-28 22:13 META-INF/
131 2021-04-28 22:13 META-INF/MANIFEST.MF
0 2021-04-28 22:13 WEB-INF/
0 2021-04-28 22:13 WEB-INF/classes/
0 2021-04-28 22:13 WEB-INF/classes/META-INF/
0 2021-04-28 22:13 WEB-INF/lib/
0 2021-04-22 17:58 WEB-INF/beans.xml
134 2021-04-28 22:13 WEB-INF/classes/META-INF/ibm-application-bnd.xml
592 2021-04-28 22:13 WEB-INF/classes/META-INF/persistence.xml
300365 2021-04-15 09:58 WEB-INF/lib/log4j-api-2.14.1.jar
1745700 2021-04-15 09:59 WEB-INF/lib/log4j-core-2.14.1.jar
393 2021-04-28 21:50 WEB-INF/web.xml
0 2021-04-28 22:13 META-INF/maven/
--------- -------
现在请注意
META-INF/*
条目和
WEB-INF/classes/META-INF/*
条目。
this answer
看起来您的META-INF文件夹位于src/main/resources目录中。
和我的一模一样。所以我搬家了
META-INF
从
src/main/resources
到
src/main/webapp
.
现在战争列表如下:
Length Date Time Name
--------- ---------- ----- ----
0 2021-04-28 22:22 META-INF/
131 2021-04-28 22:22 META-INF/MANIFEST.MF
0 2021-04-28 22:22 WEB-INF/
0 2021-04-28 22:22 WEB-INF/classes/
0 2021-04-28 22:22 WEB-INF/lib/
134 2021-04-28 22:13 META-INF/ibm-application-bnd.xml
592 2021-04-27 10:19 META-INF/persistence.xml
0 2021-04-22 17:58 WEB-INF/beans.xml
300365 2021-04-15 09:58 WEB-INF/lib/log4j-api-2.14.1.jar
1745700 2021-04-15 09:59 WEB-INF/lib/log4j-core-2.14.1.jar
393 2021-04-28 21:50 WEB-INF/web.xml
0 2021-04-28 22:22 META-INF/maven/
--------- -------
ibm-application-bnd.xml
得到处理。
而且很有效。除了。。。
这样JPA就不起作用了。
META-INF/persistence.xml
src/main/资源
毕竟。
现在我有两个
META-INF/
更新
META-INF/
文件夹(本身就是一个问题),现在我的测试无法从中访问资源
META-INF/
(另一个,在
WEB-INF/classes/META-INF
随时可用,因为里面的每一个资源
WEB-INF/classes/
).
ibm-application-bnd.xml文件
从测试中,你可能会问。因为我使用的是arquillian,我需要创建一个部署,并且需要包含以下角色<-&燃气轮机;组映射。
现在我有3个选择:
-
创建的副本
ibm-application-bnd.xml文件
src/test/resources
; 这里的问题是我需要两者保持同步;
-
添加
src/main/webapps
到surefire/failsafe类路径(请参阅
this answer
-
特别是对于Liberty/OpenLiberty,我可以依赖隐式映射(假设每个组绑定到一个同名的角色;去找CWWKS2104I
here
). 这是我现在选择的。
选项1和3有着相同的缺点:被测试的代码并不完全是将部署到生产环境中的代码。
选项2还有另一个缺点:当通过IDE运行测试时,这个额外的文件夹也必须添加到类路径中(除非IDE与maven有很好的集成,并且可以读取surefire/failsafe配置)。
这个