Hi,
I'm writing an installer that uses a GUI to get input from the user. These values are
subsequently pumped into an ANT script that installs the product.
I'm currently experiencing a problem with the <java> task:
The installer calls this target:
<target name="testload">
<parallel>
<antcall target="start-AppServer"/>
<sequential>
... (do various stuff)
</sequential>
</parallel>
</target>
The target above calls this target (which starts the OC4J app server with the
specified classpath):
<target name="start-AppServer>
<echo message="*** Starting OC4J Application Server ***"/>
<java fork="true" dir="${ias.root}" failonerror="true"
classname="com.evermind.server.ApplicationServer">
<arg value="-verbosity"/>
<arg value="10"/>
<classpath>
<pathelement path="${oc4j.classpath}"/>
</classpath>
</java>
</target>
When fired from the GUI, I guess a java.lang.NoClassDefFoundError:
javax/ejb/SessionBean error in the app server logs. However, when I run the script
manually (i.e. off command prompt: ant -f install.xml testload) it works fine. What
could be wrong? I've done the following checks:
1. fork="true"
2. correct classpath
3. correct app server root (ias.root)
The GUI is a swing app that uses the ANT api to fire off the build by the way. I was
wondering, could the classloader have anything to do with this? If so, how can I
specify a classpath to the java task? Any suggestions would be greatly
appreciated...thanks!!!
Regards,
Jason Goh