首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有Glassfish的Arquillian,resourcesXml属性似乎不是有效的文件路径

具有Glassfish的Arquillian,resourcesXml属性似乎不是有效的文件路径
EN

Stack Overflow用户
提问于 2014-11-24 02:38:31
回答 4查看 1.1K关注 0票数 2

我们的目标是使用Glassfish服务器运行Arquillian测试,但出现以下错误:

代码语言:javascript
复制
java.lang.RuntimeException: The resourcesXml property does not appear to be 
a valid file path.

有没有人看到这里缺少了什么?

这是项目大纲在Netbeans中的外观:

Netbeans中的文件夹结构如下所示:

以下是arguillian.xml文件的内容:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.org/schema/arquillian"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
            http://jboss.org/schema/arquillian
            http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
    <container qualifier="glassfish-embedded" default="true">
        <configuration>
            <property name="resourcesXml">
                src/test/resources-glassfish-embedded/glassfish-resources.xml
            </property>
        </configuration>
    </container>
</arquillian>

下面是glassfish-resources.xml文件的内容:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 
Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<jdbc-connection-pool allow-non-component-callers="false"
                      ...
                      wrap-jdbc-objects="false">
    <property name="serverName" value="localhost"/>
    <property name="portNumber" value="3306"/>
    <property name="databaseName" value="myappdatabase"/>
    <property name="User" value="someusername"/>
    <property name="Password" value="somepassword"/>
    <property name="URL" value="jdbc:mysql://localhost:3306/somedatabase"/>
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
</jdbc-connection-pool>
<jdbc-resource enabled="true" jndi-name="jdbc/somedatabase" 
object-type="user" pool-name="jdbc/somedatabase_pool"/>
</resources>

感谢大家的耐心等待。

EN

回答 4

Stack Overflow用户

发布于 2015-02-26 03:36:42

限定符必须是"glassfish",这是一个完整的例子,它是如何为我工作的

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.org/schema/arquillian"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
 <engine>
    <property name="deploymentExportPath">target/arquillian</property>
 </engine> 
 <container default="true" qualifier="glassfish">
    <configuration>
        <property name="resourcesXml">src/test/resources-glassfish-embedded/glassfish-resources.xml</property>
        <property name="bindHttpPort">8083</property>
    </configuration>
 </container>
</arquillian>
票数 1
EN

Stack Overflow用户

发布于 2017-03-28 05:29:39

我也有同样的问题,似乎只有绝对路径是可以接受的。我通过资源过滤解决了这个问题(类似于Slim的答案):

pom.xml

代码语言:javascript
复制
<testResources>
     <testResource>
         <directory>src/test/resources</directory>
         <filtering>true</filtering>
    </testResource>
</testResources>        

arquillian.xml

代码语言:javascript
复制
<property name="resourcesXml">
    ${basedir}/src/test/resources/glassfish-resources.xml
</property>
票数 1
EN

Stack Overflow用户

发布于 2016-08-08 22:10:44

您可以在pom.xml中创建一个变量:

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${version.maven-surefire-plugin}</version>
    <configuration>
        <systemPropertyVariables>
            <arquillianResourcesXml>
                ${project.basedir}/src/test/resources/resources-glassfish-embedded/glassfish-resources.xml
            </arquillianResourcesXml>
        </systemPropertyVariables>
    </configuration>
</plugin>

在arquillian.xml文件中:

代码语言:javascript
复制
<property name="resourcesXml">${arquillianResourcesXml}</property>

对我很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27092755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档