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