You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Webb Morris <we...@yahoo.com> on 2004/03/01 22:30:36 UTC
RE: NullPointerException Running JAX-RPC wscompile/wsdeploy AntTa sks
Have you tried stating the JWSDP jars as dependencies in your project.xml and specifing the
classloader as root? I had to do this with some weblogic tasks (servicegen, in particular) in
order to get ant to recognize them at runtime.
WM
--- "Shields, John (HQP)" <Jo...@rhi.com> wrote:
> Apparently the attachments didn't work. Here is the strange *.h file:
>
> /* DO NOT EDIT THIS FILE - it is machine generated */
> #include <jni.h>
> /* Header for class com_sun_tools_javac_Main */
>
> #ifndef _Included_com_sun_tools_javac_Main
> #define _Included_com_sun_tools_javac_Main
> #ifdef __cplusplus
> extern "C" {
> #endif
> /* Inaccessible static:
> class_00024com_00024sun_00024tools_00024javac_00024Main */
> #ifdef __cplusplus
> }
> #endif
> #endif
>
> And maven.xml:
>
>
> <project xmlns:j="jelly:core" xmlns:maven="jelly:maven"
> xmlns:deploy="deploy" xmlns:ant="jelly:ant">
>
> <!--
> This goal creates the JAX-RPC model and WSDL files and places them in
> the expanded
> build webapp directory. It runs after the war:webapp goal from the Maven
> war plugin.
> -->
> <postGoal name="war:webapp">
>
> <!-- define JAX-RPC ant task -->
> <ant:taskdef name="wscompile"
> classname="com.sun.xml.rpc.tools.ant.Wscompile">
> <ant:classpath>
> <ant:path refid="maven.dependency.classpath"/>
> </ant:classpath>
> </ant:taskdef>
>
> <!-- loop through the resources in project.xml -->
> <ant:echo message="resources=${pom.build.resources}"/>
> <j:forEach var="resource" items="${pom.build.resources}">
> <j:set var="directory" value="${resource.directory}"/>
> <ant:echo message="directory=${directory}"/>
>
> <!-- put XML files from the resource in the 'files' variable -->
> <ant:fileScanner var="files">
> <ant:fileset dir="${directory}">
> <ant:patternset>
> <ant:include name="*.xml"/>
> </ant:patternset>
> </ant:fileset>
> </ant:fileScanner>
>
> <!-- loop the files from the resource -->
> <j:forEach var="file" items="${files.iterator()}">
> <ant:echo message="file=${file}"/>
>
> <!-- parse out the model name from the config file name -->
> <j:set var="model"
> value="${file.name.substring(0,file.name.indexOf('.xml'))}-model.gz"/>
> <ant:echo message="model=${model}"/>
> <ant:mkdir dir="${maven.build.dir}/gen-model"/>
>
> <!-- generate the model and wsdl files for this config file -->
> <ant:wscompile base="${maven.war.webapp.dir}/WEB-INF" define="true"
> verbose="true" classpath="${maven.build.dest}"
> model="${maven.war.webapp.dir}/WEB-INF/${model}" config="${file}">
> <ant:classpath>
> <ant:pathelement path="${tools.jar}"/>
> <ant:path refid="maven.dependency.classpath"/>
> </ant:classpath>
> </ant:wscompile>
> </j:forEach>
>
> </j:forEach>
>
> </postGoal>
>
> <!--
> This goal creates the JAX-RPC implementation files.
> It runs after the war:war goal from the Maven war plugin.
> -->
> <postGoal name="war:war">
> <!-- define JAX-RPC ant task -->
> <ant:taskdef name="wsdeploy"
> classname="com.sun.xml.rpc.tools.ant.Wsdeploy">
> <ant:classpath>
> <ant:pathelement path="${tools.jar}"/>
> <ant:path refid="maven.dependency.classpath"/>
> </ant:classpath>
> </ant:taskdef>
>
> <ant:mkdir dir="${maven.war.build.dir}/wsdeploy-generated"/>
> <ant:move file="${maven.war.build.dir}/${pom.artifactId}.war"
> tofile="${maven.war.build.dir}/${pom.artifactId}-portable.war"/>
>
> <ant:wsdeploy
> inWarFile="${maven.war.build.dir}/${pom.artifactId}-portable.war"
> outWarFile="${maven.war.build.dir}/${pom.artifactId}.war"
> tmpDir="${maven.war.build.dir}/wsdeploy-generated" keep="true"
> verbose="true">
> <ant:classpath>
> <ant:pathelement path="${tools.jar}"/>
> <ant:path refid="maven.dependency.classpath"/>
> </ant:classpath>
> </ant:wsdeploy>
> <!-- this works!!! but it depends on installing the pack. grrr...
> <ant:exec executable="c:/jwsdp-1.3/jaxrpc/bin/wsdeploy.bat">
> <arg line="-classpath 'C:\j2sdk1.4.2_03\lib\tools.jar;C:\Documents and
> Settings\johshi01\.maven\repository\jaxrpc\jars\jaxrpc-api-1.1.jar;C:\Docume
> nts and
> Settings\johshi01\.maven\repository\jaxrpc\jars\jaxrpc-impl-1.1.jar;C:\Docum
> ents and
> Settings\johshi01\.maven\repository\jaxrpc\jars\jaxrpc-spi-1.1.jar;C:\Docume
> nts and
> Settings\johshi01\.maven\repository\jaxrpc\jars\jax-qname-1.1.jar;C:\Documen
> ts and
> Settings\johshi01\.maven\repository\saaj\jars\saaj-api-1.2.jar;C:\Documents
> and
> Settings\johshi01\.maven\repository\saaj\jars\saaj-impl-1.2.jar;C:\Documents
> and
> Settings\johshi01\.maven\repository\jaf\jars\activation-1.0.2.jar;C:\Documen
> ts and
> Settings\johshi01\.maven\repository\javamail\jars\mail-1.2.jar;C:\Documents
> and
> Settings\johshi01\.maven\repository\jaxrpc\jars\relaxngDatatype-1.1.jar;C:\D
> ocuments and
> Settings\johshi01\.maven\repository\jaxrpc\jars\xsdlib-1.1.jar;C:\Documents
> and
> Settings\johshi01\.maven\repository\xerces\jars\xmlParserAPIs-2.2.1.jar;C:\D
> ocuments and
> Settings\johshi01\.maven\repository\xerces\jars\xercesImpl-2.4.0.jar;C:\Docu
> ments and Settings\johshi01\.maven\repository\xalan\jars\xalan-2.5.1.jar'
> -keep -tmpdir C:\cvsroot\pmi\server\target\wsdeploy-generated -o
> C:\cvsroot\pmi\server\target\pmi-server.war -verbose
> C:\cvsroot\pmi\server\target\pmi-server-portable.war"/>
> </ant:exec>
> -->
> </postGoal>
>
> </project>
>
>
>
> -----Original Message-----
> From: Shields, John (HQP) [mailto:John.Shields@rhi.com]
> Sent: Friday, February 27, 2004 4:51 PM
> To: 'users@maven.apache.org'
> Subject: NullPointerException Running JAX-RPC wscompile/wsdeploy AntTasks
>
> Hello,
>
> I keep receiving the following error when trying to run the JAX-RPC ant
> tasks from within Maven. I just cannot seem to find the problem. I have a
> suspicion that I'm in ClassLoader hell, but I'm not sure. I'm using JDK
> 1.4.2_03, Maven-1.0-rc1, and JWSDP-1.3.
>
> The strangest thing is that if I change my maven.xml file to execute the
> JWSDP-1.3 command line tools directly then everything works. However, I
> would like to not have a dependency on the JWSDP tools if at all possible
> (jar files are OK, of course). Another project at my company is using the
> ant tasks successfully from ant, but they haven't tried it from Maven.
>
> Here is the pertinent part of the output from Maven with the "--debug
> --exception" flags set:
>
> [wsdeploy] [DEBUG] Finding class com.sun.xml.rpc.util.JavaCompilerHelper
> [wsdeploy] [DEBUG] Class com.sun.xml.rpc.util.JavaCompilerHelper loaded
> from ant loader
> [wsdeploy] [DEBUG] Class java.lang.NoSuchMethodException loaded from
> parent loader
> [wsdeploy] [DEBUG] Class java.lang.reflect.InvocationTargetException
> loaded from parent loader
> [wsdeploy] [DEBUG] Class java.io.PrintWriter loaded from parent loader
> [wsdeploy] [DEBUG] Class java.lang.Thread loaded from parent loader
> [wsdeploy] error: java.lang.NullPointerException
> [wsdeploy] java.lang.NullPointerException
> [wsdeploy] at
> com.sun.xml.rpc.util.JavaCompilerHelper.internalCompile(JavaCompilerHelper.j
> ava:45)
> [wsdeploy] at
> com.sun.xml.rpc.util.JavaCompilerHelper.compile(JavaCompilerHelper.java:32)
> [wsdeploy] at
> com.sun.xml.rpc.tools.wscompile.CompileTool.compileGeneratedClasses(CompileT
> ool.java:876)
> [wsdeploy] at
> com.sun.xml.rpc.tools.wscompile.CompileTool.run(CompileTool.java:578)
> [wsdeploy] at
> com.sun.xml.rpc.tools.wsdeploy.DeployTool.process(DeployTool.java:303)
> [wsdeploy] at
> com.sun.xml.rpc.tools.wsdeploy.DeployTool.run(DeployTool.java:213)
> [wsdeploy] at com.sun.xml.rpc.util.ToolBase.run(ToolBase.java:40)
> [wsdeploy] at
> com.sun.xml.rpc.tools.ant.Wsdeploy.execute(Wsdeploy.java:351)
> [wsdeploy] at org.apache.tools.ant.Task.perform(Task.java:341)
> [wsdeploy] at
> org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:232)
>
> From the source code provided for the JWSDP on http://www.java.net/ I
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Get better spam protection with Yahoo! Mail.
http://antispam.yahoo.com/tools
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org