我有一个 Maven 项目,生成的 .war 文件的名称是my-project-1.0.0-SNAPSHOT.war
. 我尝试使用以下代码获取战争模块的名称和插槽:
Module module = Module.forClass(clazz);
ModuleIdentifier identifier = module.getIdentifier();
String name = identifier.getName();
String slot = identifier.getSlot();
变量的name
值为deployment.my-project-1.0.0-SNAPSHOT.war
和。slot
main
如何在不更改 WAR 文件名的情况下更改模块名称?
我有这个jboss-deployment-structure.xml
(位于 WEB-INF 文件夹中,我也在 META-INF 文件夹中尝试过)文件:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<module-alias name="deployment.my-project" slot="main"/>
<dependencies>
<module name="org.infinispan" services="import"/>
<module name="org.infinispan.commons" />
</dependencies>
</deployment>
</jboss-deployment-structure>
但模块名称保留为war 文件名(my-project-1.0.0-SNAPSHOT.war)。
实际上我想更改模块名称的主要原因是因为我使用 jboss-marshalling 来序列化一些 java 对象,而 ModularClassResolver 包含这些模块信息(名称和插槽),使得当我们更改项目版本时序列化的数据不兼容并且.war 文件有另一个文件名。
还有其他方法可以更改我的项目的模块名称吗?
谢谢