| different classloader behavior | different classloader behavior 2005-06-22 - By EJ Ciramella
I've written a custom SQLCondition and use it to monitor a particular field in a db. This condition needs the postgres.jar in the classpath, so, on my local machine (an iMac), the target looks like this:
<target name="testsql"> <path id="classpath"> <pathelement path="lib/postgresql.jar"/> <pathelement location="classes"/> </path> <typedef name="sqlcondition" classname="org.archivas.condition.SQLCondition" classpathref="classpath"/> <waitfor maxwait="25" maxwaitunit="minute" checkevery="10" checkeveryunit="second" timeoutproperty="toolong"> <sqlcondition value="waiting for client connection" connectionString="jdbc:postgresql://someurl/" username="someuser" password="somepass" dbname="grind_web" tablename="grinder_status" hostname="lnx-072.archivas.com"/> </waitfor> </target>
This works just fine.
When I jar up my condition and place it in ant_home/lib, I made the following changes to the test build server (a slackware linux box):
<path id="sqlclasspath"> <pathelement path="/usr/local/pgsql/share/java/postgresql.jar"/> </path> <typedef name="sqlcondition" classname="org.archivas.condition.SQLCondition" classpathref="sqlclasspath"/> <waitfor maxwait="25" maxwaitunit="minute" checkevery="10" checkeveryunit="second" timeoutproperty="toolong"> <sqlcondition value="waiting for client connection" connectionString="jdbc:postgresql://someurl/" username="someuser" password="somepass" dbname="grind_web" tablename="grinder_status" hostname="lnx-072.archivas.com"/> </waitfor>
But this fails:
build-full: [waitfor] java.lang.ClassNotFoundException: org.postgresql.Driver [waitfor] at java.net.URLClassLoader.findClass (URLClassLoader.java:375) [waitfor] at java.lang.ClassLoader.loadClass(ClassLoader.java: 562) [waitfor] at java.lang.ClassLoader.loadClass(ClassLoader.java: 494) [waitfor] at java.lang.Class.forName1(Native Method) [waitfor] at java.lang.Class.forName(Class.java:180) [waitfor] at org.archivas.condition.SQLCondition.getConnection (SQLCondition.java:142) [waitfor] at org.archivas.condition.SQLCondition.getSelectValue (SQLCondition.java:61) [waitfor] at org.archivas.condition.SQLCondition.eval (SQLCondition.java:52) [waitfor] at org.apache.tools.ant.taskdefs.WaitFor.execute (WaitFor.java:117) [waitfor] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) [waitfor] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) [waitfor] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) [waitfor] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) [waitfor] at java.lang.reflect.Method.invoke(Method.java:391) [waitfor] at org.apache.tools.ant.TaskAdapter.execute (TaskAdapter.java:123) [waitfor] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:275) [waitfor] at org.apache.tools.ant.Task.perform(Task.java:364) [waitfor] at org.apache.tools.ant.Target.execute(Target.java:341) [waitfor] at org.apache.tools.ant.Target.performTasks (Target.java:369) [waitfor] at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1216) [waitfor] at org.apache.tools.ant.Project.executeTarget (Project.java:1185) [waitfor] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets (DefaultExecutor.java:40) [waitfor] at org.apache.tools.ant.Project.executeTargets (Project.java:1068) [waitfor] at org.apache.tools.ant.Main.runBuild(Main.java:668) [waitfor] at org.apache.tools.ant.Main.startAnt(Main.java:187) [waitfor] at org.apache.tools.ant.launch.Launcher.run (Launcher.java:246) [waitfor] at org.apache.tools.ant.launch.Launcher.main (Launcher.java:67)
BUILD FAILED /home/source/build-engineering-main.xml:65: java.lang.NullPointerException
What am I doing wrong?
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@(protected) For additional commands, e-mail: user-help@(protected)
|
|
 |