Java Mailing List Archive

http://www.ant-tasks.com/

Apache Ant Archive

» Ant Users List
» Ant Developers List
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)


©2008 ant-tasks.com - Jax Systems, LLC, U.S.A.