我有一个maven项目,生成的.war文件的名称是my-project-1.0.0-SNAPSHOT.war
。
我尝试使用以下代码获取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 filename(my-project-1.0.0-SNAPSHOT.war)。
实际上我想要更改模块名称的主要原因是因为我使用jboss-marshalling来序列化一些java对象,而ModularClassResolver包含这些模块信息(名称和插槽),当我们更改时,使得序列化数据不兼容项目版本和.war文件有另一个文件名。
是否有其他方法可以更改项目的模块名称?
由于