users@jaxb.java.net

Re: Plugin for EJB 3.0 annotations

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Wed, 10 Aug 2005 17:06:03 -0700

Ok, I see why it failed now. The problem is that you really shouldn't
have the Const class listed in the META-INF file, and XJC wasn't able to
recover from that error gracefully.

Remove that line and it should work. I'll make XJC more robust in the
fact or wrong entry in the META-INF file.

Scott Allan wrote:
> Here is the original message:
>
>
>
> unrecognized parameter -Xinject-code
>
> at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:328)
>
> at com.sun.tools.xjc.XJC2Task.doXJC(XJC2Task.java:316)
>
> at com.sun.tools.xjc.XJC2Task.execute(XJC2Task.java:256)
>
> at com.sun.tools.xjc.XJCTask.execute(XJCTask.java:65)
>
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>
> at org.apache.tools.ant.Task.perform(Task.java:364)
>
> at org.apache.tools.ant.Target.execute(Target.java:341)
>
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
>
> at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
>
> at
> org.apache.tools.ant.Project.executeTargets(Project.java:1062)
>
> at org.apache.tools.ant.Main.runBuild(Main.java:673)
>
> at org.apache.tools.ant.Main.startAnt(Main.java:188)
>
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
>
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
>
> Caused by: com.sun.tools.xjc.BadCommandLineException: unrecognized
> parameter -Xi
>
> nject-code
>
> at com.sun.tools.xjc.Options.parseArguments(Options.java:453)
>
> at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:326)
>
> ... 13 more
>
> --- Nested Exception ---
>
> com.sun.tools.xjc.BadCommandLineException: unrecognized parameter
> -Xinject-code
>
> at com.sun.tools.xjc.Options.parseArguments(Options.java:453)
>
> at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:326)
>
> at com.sun.tools.xjc.XJC2Task.doXJC(XJC2Task.java:316)
>
> at com.sun.tools.xjc.XJC2Task.execute(XJC2Task.java:256)
>
> at com.sun.tools.xjc.XJCTask.execute(XJCTask.java:65)
>
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>
> at org.apache.tools.ant.Task.perform(Task.java:364)
>
> at org.apache.tools.ant.Target.execute(Target.java:341)
>
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
>
> at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
>
> at
> org.apache.tools.ant.Project.executeTargets(Project.java:1062)
>
> at org.apache.tools.ant.Main.runBuild(Main.java:673)
>
> at org.apache.tools.ant.Main.startAnt(Main.java:188)
>
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
>
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
>
>
>
> Here is the addon message:
>
>
>
> Looking for META-INF/services/com.sun.tools.xjc.Plugin for add-ons
>
> Checking
> jar:file:/C:/Sun/jaxb-ri-ea/lib/jaxb-xjc.jar!/META-INF/services/com.sun
>
> .tools.xjc.Plugin for an add-on
>
> Attempting to instanciate
> com.sun.tools.xjc.addon.locator.SourceLocationAddOn
>
> Attempting to instanciate
> com.sun.tools.xjc.addon.sync.SynchronizedMethodAddOn
>
> Attempting to instanciate
> com.sun.tools.xjc.addon.code_injector.PluginImpl
>
> Attempting to instanciate com.sun.tools.xjc.addon.code_injector.Const
>
> java.lang.ArrayStoreException
>
> at java.lang.System.arraycopy(Native Method)
>
> at java.util.ArrayList.toArray(Unknown Source)
>
> at com.sun.tools.xjc.Options.findServices(Options.java:590)
>
> at com.sun.tools.xjc.Options.findServices(Options.java:527)
>
> at com.sun.tools.xjc.Options.<clinit>(Options.java:147)
>
> at com.sun.tools.xjc.Driver.run(Driver.java:188)
>
> at com.sun.tools.xjc.Driver.run(Driver.java:146)
>
> at com.sun.tools.xjc.Driver._main(Driver.java:71)
>
> at com.sun.tools.xjc.Driver.access$000(Driver.java:37)
>
> at com.sun.tools.xjc.Driver$1.run(Driver.java:51)
>
> grammar is not specified
>
>
>
> -----Original Message-----
>
> From: Kohsuke Kawaguchi [mailto:Kohsuke.Kawaguchi_at_sun.com]
>
> Sent: Wednesday, August 10, 2005 5:00 PM
>
> To: users_at_jaxb.dev.java.net
>
> Subject: Re: Plugin for EJB 3.0 annotations
>
>
>
>
>
> Scott Allan wrote:
>
>> I'm ready to try to write plugin for EJB 3.0 annotations such as
>
>> @Entity, @Table, etc.
>
>>
>
>> I tried to test out your Code Injector plugin but could not get xjc to
>
>> run. It didn't recognize the -Xinject-code argument.
>
>>
>
>> I changed the com.sun.tools.xjc.Plugin file to read like this:
>
>
>
> You don't need to have the Const class listed, but I don't think that's
>
> the cause of the problem either. Your Ant task configuration looks
>
> correct to me.
>
>
>
> Try enabling the debug option for the findServices by doing
>
>
>
> export ANT_OPTS="-Dcom.sun.tools.xjc.Options.findServices=true"
>
>
>
> It displays how XJC is locating the add-ons.
>
>
>
> Also check the CLI, to isolate the problem. Try
>
>
>
> $ java -jar jaxb-xjc.jar
>
>
>
> and see if the help screen shows plugins. Or you can do:
>
>
>
> $ java -Dcom.sun.tools.xjc.Options.findServices=true -jar jaxb-xjc.jar
>
>
>
> to get the same error.
>
>
>
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
>> xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>
>> xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>
>> jaxb:extensionBindingPrefixes="xjc"
>
>> jaxb:version="2.0">
>
>>
>
>> how would I declare set both extensionBindingPrefixes xjc and ci?
>
>
>
> It's supposed to give you a reasonably helpful message if you miss
>
> something. So I'd like to know what the error message you saw.
>
>
>
> Anyway, add:
>
>
>
> xmlns:ci="http://jaxb.dev.java.net/plugin/code-injector"
>
>
>
> and
>
>
>
> jaxb:extensionBindingPrefixes="xjc ci"
>
>
>
>
>
>
>
> --
>
> Kohsuke Kawaguchi
>
> Sun Microsystems kohsuke.kawaguchi_at_sun.com
>
>
>
>
> _____
>
> << ella for Spam Control >> has removed 25096 Spam messages and set
> aside 2 Newsletters for me
> You can use it too - and it's FREE! www.ellaforspam.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>
>


-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi_at_sun.com