External properties in arquillian.xml
suikast42 Apr 5, 2012 4:53 AMHi @ all,
I have problems to set system properties in arquillian.xml.
I do folowing things:
1. Define properties in surfire.
2. Refrence the surfire properties in arquillian.xml
My surfire conf:
<plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${version-surfire}</version> <inherited>true</inherited> <configuration> <enableAssertions>true</enableAssertions> <configuration> <enableAssertions>true</enableAssertions> <!-- -DserverProfile=standalone-full-my.xml -DwmsEar=com.my.company:my-ear:ear:3.0.0-SNAPSHOT --> <systemPropertiesFile> ${user.home}/mvntest.properties </systemPropertiesFile> <systemPropertyVariables> <serverProfileSurfire>${serverProfile}</serverProfileSurfire> <earSurfire>${ear}</earSurfire> <serverDirSurfire>${serverDir}</serverDirSurfire> </systemPropertyVariables> </configuration> </configuration> </plugin>
My arquillian.xml
<?xml version="1.0" encoding="UTF-8"?> <arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://jboss.org/schema/arquillian" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <container qualifier="jboss7" default="true"> <protocol type="Servlet 3.0"> <property name="executionType">MANAGED</property> </protocol> <configuration> <property name="serverConfig">${serverProfileSurfire}</property> <property name="jbossHome">${serverDirSurfire:F:\IDE\jboss-as-7.1.1.Final}</property> <property name="javaVmArguments">-Xmx512m -XX:MaxPermSize=128m -Xrunjdwp:transport=dt_socket,address=8086,server=y,suspend=n</property> <property name="allowConnectingToRunningServer">true</property> </configuration> </container> </arquillian>
Surfire can read the properties from the prop file and set this. But Arquillian throw the Exception which is shown below:
java.lang.IllegalStateException: JBAS014805: Could not get main file: ${serverProfileSurfire}. Specified files must be relative to the configuration dir: F:\IDE\jboss-as-7.1.1.Final\standalone\configuration at org.jboss.as.controller.persistence.ConfigurationFile.determineMainFile(ConfigurationFile.java:148) at org.jboss.as.controller.persistence.ConfigurationFile.<init>(ConfigurationFile.java:90) at org.jboss.as.server.ServerEnvironment.<init>(ServerEnvironment.java:375) at org.jboss.as.server.Main.determineEnvironment(Main.java:242) at org.jboss.as.server.Main.main(Main.java:83) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jboss.modules.Module.run(Module.java:260) at org.jboss.modules.Main.main(Main.java:291) Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 7.219 sec <<< FAILURE!
I try to set the propertis with mvn -DserverProfile , too but the same result.
What I'm doing wrong ?