当前位置:  开发笔记 > 编程语言 > 正文

使用带有eclipse和m2e的maven-jaxb-plugin时,ErrorListener丢失

如何解决《使用带有eclipse和m2e的maven-jaxb-plugin时,ErrorListener丢失》经验,为你挑选了3个好方法。

我已经为插件设置了一个项目" org.jvnet.jaxb2.maven2:maven-jaxb2-plugin".它可以工作,但我不喜欢Eclipse编辑器中为"pom.xml"显示的错误消息.消息指出:

Execution default of goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.1:generate failed: A required class was missing while executing org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.1:generate: com/sun/xml/bind/api/ErrorListener

pom和整个项目被标记为错误.

这是我的pom.xml:


    4.0.0
    de.gombers.lernen.jaxb
    PlayWithJAXB
    0.0.1-SNAPSHOT
    
        UTF-8
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    1.8
                    1.8
                
            

            
                org.apache.maven.plugins
                maven-javadoc-plugin
                2.9.1
                
                    private
                    true
                
            


            
                org.jvnet.jaxb2.maven2
                maven-jaxb2-plugin
                0.13.1
                
                    
                        
                            generate
                        
                    
                
                
                    true
                    true
                    target/generated-sources/jaxb
                    de.gombers.lernen.jaxb.generated
                    src/main/resources
                    Employee.xsd
                
            

        


    

    
        
            org.apache.commons
            commons-lang3
            3.4
        

        
        
            org.jvnet.jaxb2.maven2
            maven-jaxb2-plugin-core
            0.13.1
        
        
            org.jvnet.jaxb2.maven2
            maven-jaxb22-plugin
            0.13.1
        
        
            org.apache.maven
            maven-project
            2.0.9
        
        
            org.apache.maven.plugin-tools
            maven-plugin-annotations
            3.4
        
        
            org.apache.maven
            maven-settings
            2.0.9
        
        
            org.codehaus.plexus
            plexus-container-default
            1.0-alpha-9-stable-1
        
        
            junit
            junit
            4.8.1
        
        
            com.sun.xml.bind
            jaxb-core
            2.2.7
        
        
            javax.xml.bind
            jaxb-api
            2.2.7
        
        
            com.sun.xml.bind
            jaxb-impl
            2.2.7
        
        
            com.sun.xml.bind
            jaxb-jxc
            2.2.7
        
        
            com.sun.xml.bind
            jaxb-xjc
            2.2.7
        


        
        
            de.gombers
            BasicTools
            1.0.0
        

        
        
            org.slf4j
            slf4j-api
            1.7.13
        
        
            ch.qos.logback
            logback-classic
            1.1.2
        

        
        
            junit
            junit
            4.12
        

        
            org.mockito
            mockito-all
            1.8.4
        

        
            javax.servlet
            servlet-api
            2.5
        

        
        
            jackson-core
            com.fasterxml.jackson.core
            2.3.3
        
        
            jackson-annotations
            com.fasterxml.jackson.core
            2.3.3
        
        
            jackson-databind
            com.fasterxml.jackson.core
            2.3.3
        

    

我的" mvn validate"命令没有说明任何错误,并且声明的ErrorListener提供了工件" com.sun.xml.bind:jaxb-core".正如已经说过的,当运行项目来生成源代码时,它工作正常.有没有人运行这个插件并可以共享他的pom.xml?



1> Mahmoud Sale..:

将插件更新到版本0.13.3可修复此问题.



2> Darren Reime..:

我通过从Eclipse首选项(Java>已安装的JRE)中删除任何JRE并仅将选定的JDK保留在那里来解决此问题.即使未选择JRE,它们仍会导致问题,必须将其删除.我能够将JRE留在我的系统上.这篇文章很有帮助:http://diggingthroughcode.blogspot.ca/2016/05/trouble-with-maven-jaxb2-plugin-and.html

[更新]另一位同事刚刚遇到这个,对他来说,似乎关键因素是Java被用来运行Eclipse.它也不会使用JAVA_HOME的配置,而是第一个可用的Java运行时.他从他的系统中删除了所有的jres并且只留下了一个jdk并解决了这个问题.我认为关键因素是eclipse是以jre还是jdk运行.当我解决了这个问题时,我确实从我的系统中删除了一个jre,这可能是eclipse一直在使用的.有了这个jre,它变成了jdk,即使我有其他jres可用.如果你不想从系统中删除jres,你可以指定java运行时eclipse应该使用什么(如何使用不同的java版本运行eclipse?).如果没有指定任何内容,eclipse将确定要使用的java运行时(找出运行的JVM Eclipse).



3> leftbit..:

此问题是由在JRE而非JDK上运行的Eclipse引起的。

编辑您的eclipse.ini并指向合适的JDK-例如

-vm C:/Program Files (x86)/Java/jdk1.7.0_55/bin/javaw.exe

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有