如何强制 wildfly-8.2.1.Final 从目录而不是 war 加载 .class?
How to force wildfly-8.2.1.Final to load .class from a directory rather than war?
我想从给定目录加载 .class 文件,所以我将编译后的文件放在目录 /opt/wildfly-8.2.1.Final/modules/packagename/ 中,同时服务器加载 class来自同一目录而不是 war(WEB-INF/classes/packagename/).
我自己没有尝试过这个方法,但是你必须:
- 将
/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.Final/modules/custom-classes/main/
- 将文件
jboss-deployment-structure.xml
添加到您的 war。
- 取消部署 war,重新启动服务器,然后重新部署 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>
jboss-deployment-structure.xml
的内容:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="custom-classes" />
</dependencies>
</deployment>
</jboss-deployment-structure>
编辑:如果您想将 jars 和非 jared 类 添加到您的模块,您不仅必须将 jars 复制到 /opt/wildfly-8.2.1.Final/modules/custom-classes/main/
,还必须在 module.xml
中列出 jars像这样:
<?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>
资源:
我想从给定目录加载 .class 文件,所以我将编译后的文件放在目录 /opt/wildfly-8.2.1.Final/modules/packagename/ 中,同时服务器加载 class来自同一目录而不是 war(WEB-INF/classes/packagename/).
我自己没有尝试过这个方法,但是你必须:
- 将
/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.Final/modules/custom-classes/main/
- 将文件
jboss-deployment-structure.xml
添加到您的 war。 - 取消部署 war,重新启动服务器,然后重新部署 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>
jboss-deployment-structure.xml
的内容:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="custom-classes" />
</dependencies>
</deployment>
</jboss-deployment-structure>
编辑:如果您想将 jars 和非 jared 类 添加到您的模块,您不仅必须将 jars 复制到 /opt/wildfly-8.2.1.Final/modules/custom-classes/main/
,还必须在 module.xml
中列出 jars像这样:
<?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>
资源: