Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wildfly:如何更改WAR部署的模块名称?(不更改WAR文件名)_Java_Jboss_Wildfly_Wildfly 10_Jboss Modules - Fatal编程技术网

Java Wildfly:如何更改WAR部署的模块名称?(不更改WAR文件名)

Java Wildfly:如何更改WAR部署的模块名称?(不更改WAR文件名),java,jboss,wildfly,wildfly-10,jboss-modules,Java,Jboss,Wildfly,Wildfly 10,Jboss Modules,我有一个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();

我有一个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部署结构.xml
(位于WEB-INF文件夹中,我也在META-INF文件夹中尝试过)文件:


但模块名仍保留为war文件名(my-project-1.0.0-SNAPSHOT.war)

实际上,我想更改模块名称的主要原因是,我使用jboss编组来序列化一些java对象,而ModularClassResolver包含这些模块信息(名称和插槽),这使得在更改项目版本时序列化的数据不兼容,.war文件有另一个文件名

是否有其他方法可以更改项目的模块名称


谢谢

您如何部署WAR文件?将.WAR文件复制到部署目录中。我可以使用jboss cli部署它并选择正确的名称,但这里的“标准部署过程”是将文件复制到wildfly的部署目录中。。。在pom.xml文件中。。该文件来自由脚本下载和复制的Nexus(Nexus使用版本命名工件文件)。还有另一个脚本,它收集已部署项目的版本,并解析其文件名。我认为这可能是一个问题-我们在这里也这样做。我认为您需要更新一个或多个脚本来解决此问题。记住,最简单的解决方案就是最好的解决方案!
<?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>