eclipse 및 m2e와 함께 maven-jaxb-plugin을 사용할 때 ErrorListener가 누락됨
플러그인 전용 프로젝트를 설정했습니다. "org.jvnet.jaxb2.maven2:maven-jaxb2-plugin"
작동하지만 "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.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을 공유할 수 있는 사람이 있습니까?
플러그인을 버전 0.13.3으로 업데이트하면 이 문제가 해결됩니다.
이클립스 환경설정(Java > Installed JREs)에서 JRE를 제거하고 선택한 JDK만 남겨서 이 문제를 해결했습니다.JRE가 선택되지 않았지만 문제가 발생하여 JRE를 제거해야 합니다.저는 JRE들을 제 시스템에 남겨둘 수 있었습니다.이 게시물은 도움이 되었습니다: http://diggingthroughcode.blogspot.ca/2016/05/trouble-with-maven-jaxb2-plugin-and.html
[Update] 다른 동료가 방금 이 문제에 부딪혔는데, 그에게는 어떤 Java를 사용하여 Eclipse를 실행하고 있는지가 중요한 요인인 것 같았습니다.구성된 Java_HOME도 사용하지 않지만 사용 가능한 첫 번째 Java 런타임을 사용합니다.그는 그의 시스템에서 모든 jres를 제거하고 jdk만 남겼으며 그로 인해 문제가 해결되었습니다.저는 이클립스가 jre와 jdk 중 어느 것으로 실행되고 있는지가 중요한 요소라고 생각합니다.문제를 해결할 때 시스템에서 jre 하나를 제거했는데 이것이 이클립스가 사용했던 것 같습니다.이 jre가 없어져서 다른 jre를 사용할 수 있는데도 jdk로 전환했습니다.시스템에서 jres를 제거하지 않으려면 사용할 Java 런타임 이클립스를 지정할 수 있습니다(다른 Java 버전으로 이클립스를 실행하는 방법?).이클립스가 지정되지 않은 경우 사용할 Java 런타임이 결정됩니다(JVM 이클립스가 실행 중인 대상 확인).
이 문제는 JDK 대신 JRE에서 실행되는 일식으로 인해 발생했습니다.
일식을 편집합니다.ini 및 적절한 JDK를 가리킵니다. 예를 들어).
-vm C:/Program Files (x86)/Java/jdk1.7.0_55/bin/javaw.exe
여기서도 같은 문제입니다. 버전을 줄이면 해결됩니다.
시작:
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.1</version>
받는 사람:
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.1</version>
편집:
다른 모든 것을 시도했습니다.
-Eclipse에서 모든 JRE 삭제
-JDK로 Eclipse 시작하기
EDIT2:
를 확인해 ..m2
폴더를 누릅니다.문제가 있는 병을 찾아 크기를 확인합니다.일부 상황에서는 메이븐이 종속성을 제대로 다운로드하지 못했을 수 있습니다..jar
존재할 수 있지만 가질 수 있는0kb
size. 합니다. IFSO: 삭제.jar
메이븐이 다시 다운로드하게 해주세요.
시도해 보세요
<build>
<pluginManagement>
<plugins>
<plugin> ... </plugin>
<plugin> ... </plugin>
....
</plugins>
</pluginManagement>
</build>
저도 비슷한 문제가 있었습니다.
Execution default of goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.3:generate failed: Prefix '' is already bound to ''
나의 경우, 이것은 Java 8 프로젝트에서 Java 10을 사용했기 때문입니다.올바른 Java 버전으로 전환하면 문제가 해결됩니다.
저도 같은 문제가 있었습니다. 다소 바보 같은 일일 수 있다는 것을 알지만 모든 리소스(wsdl 및 xsd)가 pom.xml에서 제공하는 URL에서 사용 가능한지 확인해 보십시오.
언급URL : https://stackoverflow.com/questions/34173363/errorlistener-missing-when-using-maven-jaxb-plugin-with-eclipse-and-m2e
'programing' 카테고리의 다른 글
하나의 스프링 부트 컨테이너에서 여러 웹 앱 실행 (0) | 2023.07.13 |
---|---|
이 Firestore 쿼리에 인덱스가 필요한 이유는 무엇입니까? (0) | 2023.07.13 |
Oracle 및 트리거(삽입, 업데이트, 삭제) (0) | 2023.07.13 |
C에서의 구조 직렬화 및 MPI를 통한 전송 (0) | 2023.07.08 |
11g의 select 문에서 새로 생성된 테이블 열에 대한 기본값을 설정하는 방법 (0) | 2023.07.08 |