首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过maven编译时的SAXParseException

通过maven编译时的SAXParseException
EN

Stack Overflow用户
提问于 2015-03-07 00:53:54
回答 1查看 1.3K关注 0票数 2

嗨,我知道这可能已经被问过了,所以很抱歉(没有足够的代表在其他帖子上发表评论)

当我通过mvn编译我的项目时,我得到了一些SAXParse异常,即使我可以构建和运行我的项目没有问题。我只是在清理一些构建警告,想知道为什么这个occurs...any帮助非常感谢

日志.....

代码语言:javascript
代码运行次数:0
运行
复制
[INFO] --- jaxb2-maven-plugin:1.6:xjc (Shop) @ the-project ---
[INFO] Generating source...
[INFO] parsing a schema...
**[INFO] compiling a schema...
[WARNING] null[-1,-1]
org.xml.sax.SAXParseException; generating code**
at com.sun.tools.xjc.ErrorReceiver.debug(ErrorReceiver.java:140)
at com.sun.tools.xjc.Driver.run(Driver.java:361)
at org.codehaus.mojo.jaxb2.AbstractXjcMojo.execute(AbstractXjcMojo.java:316)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

POM...

代码语言:javascript
代码运行次数:0
运行
复制
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>The</id>
        <goals>
            <goal>xjc</goal>
        </goals>
        <configuration>
            <schemaIncludes>
                <include>The.xsd</include>                              
            </schemaIncludes>
            <schemaDirectory>${schema.directory.The}</schemaDirectory>
            <packageName>${generated.source.The}</packageName>
            <verbose>true</verbose>
            <clearOutputDir>false</clearOutputDir>
        </configuration>
    </execution>
</executions>

EN

回答 1

Stack Overflow用户

发布于 2015-12-30 09:38:41

我也遇到了同样的问题,问题是verbose标志被打开,而verbose的日志记录只是为了日志记录而创建错误。

基本上在XJC代码中有一个"bug“,它们调用

//generate actual code receiver.debug("generating code");

并编写调试语句

代码语言:javascript
代码运行次数:0
运行
复制
public final void debug( String msg ) {
    info( new SAXParseException(msg,null) );
}

然后,它调用

代码语言:javascript
代码运行次数:0
运行
复制
public void info(SAXParseException exception) {
    if(opt.verbose)
       super.info(exception);
 }

因此,由于记录器的实现方式,它会记录完整的堆栈跟踪。这甚至更有趣,因为创建SAXParseException只是为了创建日志记录语句,而不是抛出。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28903669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档