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