1

我有一个 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和。slotmain

如何在不更改 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 文件有另一个文件名。

还有其他方法可以更改我的项目的模块名称吗?

谢谢

4

0 回答 0