使用应用程序li​​b而不是app server lib

时间:2014-05-15 13:52:34

标签: java-ee jboss application-server wildfly

我将在eclipse中创建一个企业项目并使用Wildfly应用程序服务器。 在我的项目中,我有一些可能存在于Wildfy lib文件夹中的库 如何对应用程序服务器说,如果您需要lib和我的项目lib中存在的任何库,请使用我项目中存在的库。 例如,Wildfly包含JSF实现,我将使用Primefaces。我将Primefaces库添加到我的项目类路径中,我将Wildfly使用它,但Wildfly使用它自己的实例 感谢。

2 个答案:

答案 0 :(得分:3)

不幸的是,这并不容易。 JBoss引入了模块的概念。如果要覆盖JBoss提供的库版本,您需要了解它们的工作原理。查看文档:

https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly

https://docs.jboss.org/author/display/WFLY8/Implicit+module+dependencies+for+deployments

答案 1 :(得分:1)

如果您将库添加到lib目录,WildFly会在您的类路径中包含这些库。这意味着如果您包含Primefaces,您将在类路径中获得Primefaces。 WildFly不包括Primefaces作为模块。

对于服务器依赖项,如JSF实现,WildFly将在lib目录中的依赖项之前首先加载它提供的依赖项。那就是说你真的不想覆盖这样的实现。它是Java EE规范的一部分,将由任何符合Java EE的服务器提供。

您还应该阅读jgitter建议的链接。