Java exception when spring loading context configuration file - occurs in UNIX but not Windows -


i've been stuck 1 while now. have created mini subset of project occurs , reproduced issue. i'm running test loads spring context file 1 bean classpathxmlapplicationcontext object.

the weird thing is, on windows, test passes fine when run ide (eclipse/intellij) , when run through maven command line. fails when test run unix machine (red hat enterprise linux 5) (and code inevitable end up).

in exception below complains lookutils class. can't see why it's trying create class 1 thing noticed has private constructor. also, i'm using spring v2.5.6 , have stick security reason. i'm pretty stuck 1 appreciated.

thank you.

here exception:

------------------------------------------------------------------------------- test set: startuptest.apptest ------------------------------------------------------------------------------- tests run: 1, failures: 0, errors: 1, skipped: 0, time elapsed: 0.458 sec <<< failure! testguistartup(startuptest.apptest)  time elapsed: 0.43 sec  <<< error! org.springframework.beans.factory.beancreationexception: error creating bean name 'lookandfeelconfigurer' defined in class path resource [startup-context.xml]: error setting property values; nested exception org.springframework.beans.propertybatchupdateexception; nested propertyaccessexceptions (2) are: propertyaccessexception 1: org.springframework.beans.methodinvocationexception: property 'popupdropshadowenabled' threw exception; nested exception java.lang.exceptionininitializererror propertyaccessexception 2: org.springframework.beans.methodinvocationexception: property 'theme' threw exception; nested exception java.lang.noclassdeffounderror: not initialize class com.jgoodies.looks.lookutils     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.applypropertyvalues(abstractautowirecapablebeanfactory.java:1279)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1010)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:472)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory$1.run(abstractautowirecapablebeanfactory.java:409)     @ java.security.accesscontroller.doprivileged(native method)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:380)     @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:264)     @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222)     @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:261)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:185)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:164)     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:429)     @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:728)     @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:380)     @ org.springframework.context.support.classpathxmlapplicationcontext.<init>(classpathxmlapplicationcontext.java:139)     @ org.springframework.context.support.classpathxmlapplicationcontext.<init>(classpathxmlapplicationcontext.java:83)     @ startuptest.apptest.testguistartup(apptest.java:9)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:585)     @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:44)     @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15)     @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:41)     @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:20)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:76)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:50)     @ org.junit.runners.parentrunner$3.run(parentrunner.java:193)     @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:52)     @ org.junit.runners.parentrunner.runchildren(parentrunner.java:191)     @ org.junit.runners.parentrunner.access$000(parentrunner.java:42)     @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:184)     @ org.junit.runners.parentrunner.run(parentrunner.java:236)     @ org.apache.maven.surefire.junit4.junit4testset.execute(junit4testset.java:53)     @ org.apache.maven.surefire.junit4.junit4provider.executetestset(junit4provider.java:123)     @ org.apache.maven.surefire.junit4.junit4provider.invoke(junit4provider.java:104)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:585)     @ org.apache.maven.surefire.util.reflectionutils.invokemethodwitharray(reflectionutils.java:164)     @ org.apache.maven.surefire.booter.providerfactory$providerproxy.invoke(providerfactory.java:110)     @ org.apache.maven.surefire.booter.surefirestarter.invokeprovider(surefirestarter.java:175)     @ org.apache.maven.surefire.booter.surefirestarter.runsuitesinprocesswhenforked(surefirestarter.java:107)     @ org.apache.maven.surefire.booter.forkedbooter.main(forkedbooter.java:68) caused by: org.springframework.beans.propertybatchupdateexception; nested propertyaccessexceptions (2) are: propertyaccessexception 1: org.springframework.beans.methodinvocationexception: property 'popupdropshadowenabled' threw exception; nested exception java.lang.exceptionininitializererror propertyaccessexception 2: org.springframework.beans.methodinvocationexception: property 'theme' threw exception; nested exception java.lang.noclassdeffounderror     @ org.springframework.beans.abstractpropertyaccessor.setpropertyvalues(abstractpropertyaccessor.java:104)     @ org.springframework.beans.abstractpropertyaccessor.setpropertyvalues(abstractpropertyaccessor.java:59)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.applypropertyvalues(abstractautowirecapablebeanfactory.java:1276)     ... 44 more 

here test:

package startuptest;  import org.junit.test; import org.springframework.context.support.classpathxmlapplicationcontext;  public class apptest {     @test     public void testguistartup() {         new classpathxmlapplicationcontext("startup-context.xml");     } } 

here context file:

<?xml version="1.0" encoding="utf-8"?> <!doctype beans public "-//spring//dtd bean//en"         "http://www.springframework.org/dtd/spring-beans.dtd">  <beans>     <bean id="lookandfeelconfigurer" class="org.springframework.richclient.application.config.jgoodieslooksconfigurer">         <property name="popupdropshadowenabled" value="false"/>         <property name="theme">             <bean class="com.jgoodies.looks.plastic.theme.experienceroyale"/>         </property>     </bean> </beans> 

here pom.xml

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"          xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>      <groupid>startuptest</groupid>     <artifactid>startuptest</artifactid>     <version>1.0-snapshot</version>     <packaging>jar</packaging>      <name>startuptest</name>     <url>http://maven.apache.org</url>      <properties>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>     </properties>      <dependencies>         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>4.8</version>             <scope>test</scope>         </dependency>         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring</artifactid>             <version>2.5.6</version>         </dependency>         <dependency>             <groupid>com.jgoodies</groupid>             <artifactid>looks</artifactid>             <version>2.0.4</version>         </dependency>         <dependency>             <groupid>org.springframework.richclient</groupid>             <artifactid>spring-richclient-support</artifactid>             <version>0.2.1</version>         </dependency>     </dependencies> </project> 

finally figured out. pretty simple after all. reason failing on unix (red hat enterprise linux 5) because there no graphical interface on machine! no gnome, no kde or anything. failing @ point tried configure , feel of application gui. in hindsight should have mentioned using teamcity run these tests , never physically in front of rhel5 server.

the solution create new teamcity build runs gui tests , on windows machine.

so moral of story, if running gui tests on remote machine, make sure has graphical support!


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -