【发布时间】:2016-03-14 09:42:39
【问题描述】:
我已经为插件“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:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.gombers.lernen.jaxb</groupId>
<artifactId>PlayWithJAXB</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
</configuration>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<extension>true</extension>
<useDependenciesAsEpisodes>true</useDependenciesAsEpisodes>
<outputDirectory>target/generated-sources/jaxb</outputDirectory>
<packageName>de.gombers.lernen.jaxb.generated</packageName>
<schemaDirectory>src/main/resources</schemaDirectory>
<schemaFiles>Employee.xsd</schemaFiles>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<!-- JAXB -->
<dependency>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin-core</artifactId>
<version>0.13.1</version>
</dependency>
<dependency>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb22-plugin</artifactId>
<version>0.13.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
<version>1.0-alpha-9-stable-1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2.7</version>
</dependency>
<!-- HELPERS -->
<dependency>
<groupId>de.gombers</groupId>
<artifactId>BasicTools</artifactId>
<version>1.0.0</version>
</dependency>
<!-- LOGGING -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>
<!-- JUNIT -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- JSON converter -->
<dependency>
<artifactId>jackson-core</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
<version>2.3.3</version>
</dependency>
<dependency>
<artifactId>jackson-annotations</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
<version>2.3.3</version>
</dependency>
<dependency>
<artifactId>jackson-databind</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
我的“mvn validate”命令没有说明任何错误,并且声明的 ErrorListener 与工件“com.sun.xml.bind:jaxb-core”一起提供。正如已经说过的,在运行项目以生成源代码时,它工作正常。有人在运行这个插件并且可以分享他的 pom.xml 吗?
【问题讨论】:
-
我现在完全迷路了。我试过这个 pom.xml:
-
我现在完全迷路了。我尝试使用这个 pom.xml: 1. 导入到新的 Eclipse(Mars) 工作区 2. 在新的 Eclipse(Mars) 工作区中从头开始构建 3. 在新的 Eclipse(Kepler) 工作区中使用新的初始本地从头开始构建我在 Eclipse UI 中使用“generate-sources”失败的所有三个示例的存储库,但行命令“mvn generate-sources”工作正常。
-
提供于
org.glassfish.jaxb:jaxb-core。 -
谢谢,但是使用它并不会改变 Eclipse 行为中的任何内容。这似乎是一个 Eclipse 问题;但如果是这样;它可能已经为社区所知。错误说异常被抛出“在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:168)”
-
现在在具有自己本地存储库的另一台计算机上使用相同的 pom。但是在 Eclipse 中,pom 仍然被标记为错误,因为缺少类 ErrorListener。我现在很确定 Eclipse 和/或 m2e 插件确实存在问题。已将全部 依赖项替换为
现在;结果相同。任何人都可以通过将我的 pom.xml 用于新的 Maven 项目来确认我的问题吗?org.glassfish.jaxb jaxb-core 2.2.11
标签: java eclipse maven spring-boot jaxb