简体   繁体   中英

How can I use the external jars on JBoss 7?

Now I can load jars which is under the EAR/lib. But I want to put the jars to a common path, for other application to use. I found that jboss-deployment-structure.xml file's tag can do this. But it doesn't work. I got the ClassNotFound exception. I don't know why?

<deployment>
   <resources>
        <resource-root path="/common/test.jar" />
   </resources>
 </deployment>

One way of using global libraries in different applications can be reached by making them available as modules. Therefor, extend the modules by the library you are providing as a server provider.

Example: To make your test.jar available to all applications, create a folder with the modules name and a main subdirectory (eg modules/commons/test/main ).

Place your library there and a module description file with the name module.xml . Example content:

<module xmlns="urn:jboss:module:1.0" name="commons.test">
    <resources>
        <resource-root path="test.jar"/>
    </resources>
</module>

Now the library is available to all applications. To get access to the module, your application has to define the dependency in the manifest.

Applications MANIFEST.MF :


Dependencies: commons.test

This can be also done by maven during build time. Check https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7 for details

Please note that you're modifying the server itself. All applications using your module are depending on it. A application with a dependency to the module commons.test wont be deployed on a server which does not have this module provided.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM