Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用JBoss模块的情况下解决postgresql缺少依赖项的问题,或者避免对JBoss管理的文件进行手动操作_Postgresql_Jakarta Ee_Maven_Jboss_Jboss Arquillian - Fatal编程技术网

在不使用JBoss模块的情况下解决postgresql缺少依赖项的问题,或者避免对JBoss管理的文件进行手动操作

在不使用JBoss模块的情况下解决postgresql缺少依赖项的问题,或者避免对JBoss管理的文件进行手动操作,postgresql,jakarta-ee,maven,jboss,jboss-arquillian,Postgresql,Jakarta Ee,Maven,Jboss,Jboss Arquillian,我正在使用postgresql、JBoss7.1和J2EE6。 我的项目结构有1个ear,1个JAR容纳EJB,1个WAR容纳web前端 我将postgresql驱动程序作为JBoss模块交付,并将standalone.xml更改为引用数据源。 有了以上这些,一切都很好 现在我想使用arquillian对一个带有postgres数据源的jboss托管实例进行测试。我不想更改maven下载的jboss,因为我想在我的应用程序中提供所有依赖项(唯一可以接受的是jboss上standalone.xml

我正在使用postgresql、JBoss7.1和J2EE6。 我的项目结构有1个ear,1个JAR容纳EJB,1个WAR容纳web前端

我将postgresql驱动程序作为JBoss模块交付,并将standalone.xml更改为引用数据源。 有了以上这些,一切都很好

现在我想使用arquillian对一个带有postgres数据源的jboss托管实例进行测试。我不想更改maven下载的jboss,因为我想在我的应用程序中提供所有依赖项(唯一可以接受的是jboss上standalone.xml中的数据源配置)

问题是: 如果我在
ear
项目的
EarContent/lib
中开始使用postgresql jar,那么在启动jboss时,我会发现缺少/未满足的依赖项,看起来jboss无法找到部署在
standalone/deployments
中的驱动程序。 浏览网页ppl,给出如何将postgres驱动程序与模块一起使用的示例,但这不是我想要做的。我想将postgresql驱动程序与应用程序一起发布,这样我就可以不费吹灰之力地控制版本(而且我可以针对postgres进行测试,而无需将模块添加到我将使用arquillian进行测试的jboss中)

我如何添加应用程序附带的postgres驱动程序,而不会在JBoss中发生
缺失/未满足的
依赖项错误


如果这是不可能的,我如何在每次执行
clean
目标时不手动更改JBoss文件?例如modules和standalone.xml。

不可能在应用程序中提供驱动程序()

不过我找到了解决问题的方法:
在maven中为
org.jboss.as:jboss as dist:7.1.1.创建一个本地存储库。最终
,本地存储库将有一个自定义的jboss发行版,其中包含所需的驱动程序作为模块(必要时使用不同的artifactId/groupId)


当您进行测试时,您将使用自定义本地存储库而不是官方存储库,然后您将完全控制使用arquillian进行测试时需要哪些文件。

我认为这是很难实现的。请参阅此评论,解释原因:您可能可以使用类加载器执行某些操作,但由于这也是对提供的jboss的更改,因此您可能无法接受eitherOk,因此我如何使用arquillian执行此操作,而不必手动更改jboss管理的文件?有API吗?这也可以看作是一个答案。我不知道,我发现:这可能有帮助,那就是为jboss部署添加资源,而不是操纵jboss文件本身