users@jersey.java.net

Re: [Jersey] ant WadlGeneratorTask help

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Fri, 02 May 2008 17:31:01 +0200

Hi David,

See here [1].

In the taskdef you need to include all the jars mentioned in the
Tools section of [2] as well as the core set of jars.

In the WADLGenerate you need to include *only* your application
classes/jars.

Hope that helps.
Paul.

[1] https://jersey.dev.java.net/servlets/ReadMsg?
listName=users&msgNo=400
[2] https://jersey.dev.java.net/source/browse/*checkout*/jersey/trunk/
jersey/docs/dependencies.html

On May 2, 2008, at 5:12 PM, Dave Tkaczyk wrote:

> Hi,
>
> I’m having a bear of a time getting WadlGeneratorTask to work.
> Here’s my ant and the error I’m receiving. It finds my root
> resource, but cannot seem to load it. I’ve tried several different
> ways to affect my classpath, but none seem to fix this problem. Is
> there something I’m overlooking and does anyone have a working
> example I could look at?
>
> Thanks in advance for any help,
> Dave
>
>
> <taskdef name="WADLGenerate"
> classname="com.sun.ws.rest.api.wadl.WadlGeneratorTask">
> <classpath>
> <fileset dir="${basedir}/../lib/jaxrs">
> <include name="*.jar"/>
> </fileset>
> <fileset dir="${basedir}/../lib">
> <include name="asm*.jar"/>
> </fileset>
> </classpath>
> </taskdef>
>
> <target name="generate.WADL" depends="deploy.rs">
>
> <jar basedir="${classes.dir}/${package.dir}" destfile="$
> {service.dir}/stage/rs.jar" />
>
> <WADLGenerate baseUri="https://localhost/rs/devices/2008-04-25"
> destfile="${service.dir}/stage/PanGo-REST.WADL">
> <classpath>
> <fileset dir="${service.dir}/stage">
> <include name="rs.jar" />
> </fileset>
> </classpath>
> </WADLGenerate>
> </target>
>
>
>
> generate.WADL:
> [WADLGenerate] May 2, 2008 11:05:01 AM
> com.sun.ws.rest.api.core.ClasspathResourceConfig init
> [WADLGenerate] INFO: Scanning for root resource and provider
> classes in the paths:
> [WADLGenerate] C:\PanGo\dev\java\build\services\rs\stage\rs.jar
> [WADLGenerate] May 2, 2008 11:05:01 AM
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner
> getClassForName
> [WADLGenerate] SEVERE: A (root resource) class file of the class
> name,
> com.pangonetworks.service.rs._2008_04_25.DeviceDomainResourcesis
> identified but the class could not be loaded
> [WADLGenerate] May 2, 2008 11:05:01 AM
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner indexJar
> [WADLGenerate] SEVERE: Exception while processing file, C:\PanGo\dev
> \java\build\services\rs\stage\rs.jar
> [WADLGenerate] java.lang.RuntimeException: A (root resource) class
> file of the class name,
> com.pangonetworks.service.rs._2008_04_25.DeviceDomainResourcesis
> identified but the class could not be loaded
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.getClassFo
> rName(AnnotatedClassScanner.java:340)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.access
> $200(AnnotatedClassScanner.java:56)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner
> $AnnotatedClassVisitor.visitEnd(AnnotatedClassScanner.java:392)
> [WADLGenerate] at org.objectweb.asm.ClassReader.accept(Unknown
> Source)
> [WADLGenerate] at org.objectweb.asm.ClassReader.accept(Unknown
> Source)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.analyzeCla
> ssFile(AnnotatedClassScanner.java:279)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.indexJar
> (AnnotatedClassScanner.java:241)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.indexJar
> (AnnotatedClassScanner.java:230)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.index
> (AnnotatedClassScanner.java:184)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.scan
> (AnnotatedClassScanner.java:91)
> [WADLGenerate] at
> com.sun.ws.rest.api.core.ClasspathResourceConfig.init
> (ClasspathResourceConfig.java:120)
> [WADLGenerate] at
> com.sun.ws.rest.api.core.ClasspathResourceConfig.<init>
> (ClasspathResourceConfig.java:91)
> [WADLGenerate] at
> com.sun.ws.rest.api.wadl.WadlGeneratorTask.createApplication
> (WadlGeneratorTask.java:140)
> [WADLGenerate] at
> com.sun.ws.rest.api.wadl.WadlGeneratorTask.execute
> (WadlGeneratorTask.java:122)
> [WADLGenerate] at org.apache.tools.ant.UnknownElement.execute
> (UnknownElement.java:288)
> [WADLGenerate] at sun.reflect.GeneratedMethodAccessor1.invoke
> (Unknown Source)
> [WADLGenerate] at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> [WADLGenerate] at java.lang.reflect.Method.invoke(Method.java:597)
> [WADLGenerate] at
> org.apache.tools.ant.dispatch.DispatchUtils.execute
> (DispatchUtils.java:105)
> [WADLGenerate] at org.apache.tools.ant.Task.perform(Task.java:348)
> [WADLGenerate] at org.apache.tools.ant.Target.execute
> (Target.java:357)
> [WADLGenerate] at org.apache.tools.ant.Target.performTasks
> (Target.java:385)
> [WADLGenerate] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
> [WADLGenerate] at org.apache.tools.ant.Project.executeTarget
> (Project.java:1298)
> [WADLGenerate] at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets
> (DefaultExecutor.java:41)
> [WADLGenerate] at
> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeT
> argets(EclipseDefaultExecutor.java:32)
> [WADLGenerate] at org.apache.tools.ant.Project.executeTargets
> (Project.java:1181)
> [WADLGenerate] at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run
> (InternalAntRunner.java:423)
> [WADLGenerate] at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main
> (InternalAntRunner.java:137)
> [WADLGenerate] Caused by: java.lang.ClassNotFoundException:
> com.pangonetworks.service.rs._2008_04_25.DeviceDomainResources
> [WADLGenerate] at java.net.URLClassLoader$1.run
> (URLClassLoader.java:200)
> [WADLGenerate] at java.security.AccessController.doPrivileged
> (Native Method)
> [WADLGenerate] at java.net.URLClassLoader.findClass
> (URLClassLoader.java:188)
> [WADLGenerate] at com.sun.ws.rest.api.wadl.WadlGeneratorTask
> $Loader.findClass(WadlGeneratorTask.java:164)
> [WADLGenerate] at java.lang.ClassLoader.loadClass
> (ClassLoader.java:306)
> [WADLGenerate] at java.lang.ClassLoader.loadClass
> (ClassLoader.java:251)
> [WADLGenerate] at
> com.sun.ws.rest.impl.container.config.AnnotatedClassScanner.getClassFo
> rName(AnnotatedClassScanner.java:334)
> [WADLGenerate] ... 28 more
>
>
>
>
> Confidentiality Notice: This email message is covered by the
> Electronic Communications Privacy Act, 18 U.S.C. §2510-2521 and is
> legally privileged. Unauthorized review, use, disclosure or
> distribution is strictly prohibited. If you are not the intended
> recipient, please contact Dave.Tkaczyk_at_innerwireless.com and
> destroy all copies of the original message. Thank you.