Jboss 如何强制wildfly-8.2.1.Final从目录而不是war加载.class?
我希望从给定目录加载.class文件,因此,我将编译后的文件放在/opt/wildfly-8.2.1.Final/modules/packagename/目录中,并且服务器从同一目录而不是war(WEB-INF/classes/packagename/)加载类。我自己没有尝试过这种方法,但您必须:Jboss 如何强制wildfly-8.2.1.Final从目录而不是war加载.class?,jboss,wildfly,classloader,wildfly-8,war-filedeployment,Jboss,Wildfly,Classloader,Wildfly 8,War Filedeployment,我希望从给定目录加载.class文件,因此,我将编译后的文件放在/opt/wildfly-8.2.1.Final/modules/packagename/目录中,并且服务器从同一目录而不是war(WEB-INF/classes/packagename/)加载类。我自己没有尝试过这种方法,但您必须: 将/opt/wildfly-8.2.1.Final/modules/packagename/移动到 /opt/wildfly-8.2.1.Final/modules/custom classes/ma
/opt/wildfly-8.2.1.Final/modules/packagename/
移动到
/opt/wildfly-8.2.1.Final/modules/custom classes/main/packagename/
module.xml
添加到
/opt/wildfly-8.2.1.最终/模块/自定义类/main/
jboss deployment structure.xml
添加到war中module.xml的内容
:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="custom-classes">
<resources>
<resource-root path="."/>
</resources>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="custom-classes" />
</dependencies>
</deployment>
</jboss-deployment-structure>
编辑:如果您想向模块中添加JAR以及非JAR类,您不仅必须将JAR复制到/opt/wildfly-8.2.1.Final/modules/custom classes/main/
,还必须在module.xml
中列出JAR,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="custom-classes">
<resources>
<resource-root path="."/>
<resource-root path="dependency1.jar"/>
<resource-root path="dependency2.jar"/>
<!-- and so on for other jars -->
</resources>
</module>
资源:
/opt/wildfly-8.2.1.Final/modules/packagename/
加载类,而不是从WEB-INF/classes/packagename/
?@Konrad Botor,非常感谢您的回复,但我在本地模块加载程序的“custom classes:main”模块中定义类com.demo.project.controller.LoginController时出错(查找器:本地模块查找器(根:/opt/wildfly-8.2.1.Final/modules,/opt/wildfly-8.2.1.Final/modules/system/layers/base)):java.lang.LinkageError:未能从本地模块加载器链接com/demo/project/controller/LoginController(模块“自定义类:main”)(查找器:本地模块查找器(根:/opt/wildfly-8.2.1.Final/modules,/opt/wildfly-8.2.1.Final/modules/system/layers/base))如在wildfly中加载类所述,模块中的类是在war中加载类之前加载的,因此如果模块中放置的类依赖于war中的类,那么模块将不会加载我已经放置了所有依赖项(jar)在模块内部(/opt/wildfly-8.2.1.Final/modules/custom classes/main/),但我遇到了相同的错误,您能建议一下吗?