Java maven-jaxb2-plugin的非法模式字符
我是maven新手这是我第一次使用maven-jaxb2-plugin从.xsd模式生成java类 这是我的pom.xml:Java maven-jaxb2-plugin的非法模式字符,java,maven,maven-jaxb2-plugin,Java,Maven,Maven Jaxb2 Plugin,我是maven新手这是我第一次使用maven-jaxb2-plugin从.xsd模式生成java类 这是我的pom.xml: <properties> <java.source.version>1.6</java.source.version> <java.target.version>1.6</java.target.version> </properties> <build> &
<properties>
<java.source.version>1.6</java.source.version>
<java.target.version>1.6</java.target.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.source.version}</source>
<target>${java.target.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaDirectory>src/main/resources/schema</schemaDirectory>
<schemaIncludes>
<include>mySchema.xsd</include>
</schemaIncludes>
<generatePackage>it.mycompany.jaxb2</generatePackage>
<readOnly>true</readOnly>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- A few dependiences -->
</dependencies>
1.6
1.6
org.apache.maven.plugins
maven编译器插件
${java.source.version}
${java.target.version}
org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.8.3
生成
src/main/resources/schema
mySchema.xsd
it.mycompany.jaxb2
真的
问题是当我试着跑的时候
mvn安装
我得到以下错误
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.8.3:generate failed: Illegal pattern character 'g'
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:115)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20 more
Caused by: java.lang.IllegalArgumentException: Illegal pattern character 'g'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:500)
at com.sun.tools.xjc.Options.getPrologComment(Options.java:937)
at com.sun.tools.xjc.addon.episode.PluginImpl.run(PluginImpl.java:177)
at com.sun.tools.xjc.model.Model.generateCode(Model.java:294)
at org.jvnet.mjiip.v_2_2.XJC22Mojo.generateCode(XJC22Mojo.java:70)
at org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:45)
at org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:29)
at org.jvnet.jaxb2.maven2.RawXJC2Mojo.doExecute(RawXJC2Mojo.java:318)
at org.jvnet.jaxb2.maven2.RawXJC2Mojo.execute(RawXJC2Mojo.java:160)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
... 21 more
原因:org.apache.maven.plugin.PluginExecutionException:目标org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.8.3:生成失败:非法模式字符“g”
位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:115)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20多
原因:java.lang.IllegalArgumentException:非法模式字符“g”
位于java.text.simpleDataFormat.compile(simpleDataFormat.java:768)
在java.text.simpleDataFormat.initialize(simpleDataFormat.java:575)
位于java.text.simpleDataFormat。(simpleDataFormat.java:500)
位于com.sun.tools.xjc.Options.getPrologComment(Options.java:937)
在com.sun.tools.xjc.addon.eption.PluginImpl.run(PluginImpl.java:177)上
位于com.sun.tools.xjc.model.model.generateCode(model.java:294)
位于org.jvnet.mjiip.v_2_2.XJC22Mojo.generateCode(XJC22Mojo.java:70)
在org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:45)
在org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:29)
位于org.jvnet.jaxb2.maven2.RawXJC2Mojo.doExecute(RawXJC2Mojo.java:318)
位于org.jvnet.jaxb2.maven2.RawXJC2Mojo.execute(RawXJC2Mojo.java:160)
位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
... 还有21个
Maven的配置方式如下:
mvn--版本Maven主页:C:\Program Files
(x86)\apache-maven-3.1.1\bin。。Java版本:1.6.0_45,供应商:Sun
Microsystems Inc.Java主页:C:\Program Files
(x86)\Java\jdk1.6.0\u 45\jre默认语言环境:it\u it,平台编码:
Cp1252操作系统名称:“windows 8”,版本:“6.2”,拱门:“x86”,系列:
“窗口”
我哪里做错了 问题在于默认的maven-jaxb2-plugin使用的是jaxbxjc的2.2.6版本,这个版本在 默认语言环境:it\u it 但仅适用于美国地区。然后,我在pom上添加了以下依赖项
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2.5</version>
</dependency>
com.sun.xml.bind
jaxbxjc
2.2.5
现在一切都正常了。正如stacktrace所说,在某个地方定义的日期格式有问题,而不是在pom.xml中。也许在XSD里?