当前位置: 首页 > 知识库问答 >
问题:

从xsd生成maven-jaxb2-plugin类(版本错误)

古明煦
2023-03-14

我的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.rajkishan</groupId>
<artifactId>RESTful-Swagger</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>

<name>RESTful-Swagger</name>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.2.4.RELEASE</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <start-class>com.rajkishan.Application</start-class>
</properties>

 <dependencies>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>1.0.2</version>
</dependency>

</dependencies>

 <build>
<plugins>

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

    <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.12.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaDirectory>src/main/resources</schemaDirectory>
                <schemaIncludes>
                    <include>Greeting.xsd</include>
                </schemaIncludes>
                <generatePackage>com.rajkishan.xmlgen</generatePackage>
            </configuration>
        </plugin>

</plugins>

当我在“Netbeans”中使用maven进行构建时,这很好用。

但如果我在EclipseLuna中使用,它会产生如下错误:;

目标组织的执行默认值。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3:generate失败:执行org时缺少必需的类。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3:generate:com/sun/xml/bind/api/ErrorListener

但如果我将版本更改为0.12.1,它就可以工作,如下所示;

<plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.12.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaDirectory>src/main/resources</schemaDirectory>
                <schemaIncludes>
                    <include>Greeting.xsd</include>
                </schemaIncludes>
                <generatePackage>com.rajkishan.xmlgen</generatePackage>
            </configuration>
        </plugin>

谁能告诉我这里怎么了?我错过什么了吗?

注意:我使用jdk1。8.月食。

共有2个答案

夏侯昊明
2023-03-14

添加以下依赖项,然后重试-

<dependency>
   <groupId>com.sun.xml.bind</groupId>
   <artifactId>jaxb-impl</artifactId>
   <version>2.2.11</version>
</dependency>
景哲
2023-03-14

我有同样的问题。Eclipse是用jre启动的,而不是jdk。在将eclipse更改为从jdk开始后,它运行良好...

希望有帮助。

 类似资料:
  • 问题内容: 我在配置时无法从WSDL和都存在于同一标准目录中的多个XSD文件生成Java类的问题。 如何在内联XSD中使用jaxb2 maven插件?仅在答案正确地建议使用插件配置中的参数这一点上相关,而该问题确实与内联XSD有关,而我的XSD是外部的。 插件目标参数在此处列出。 我的插件配置是: 我正在用进行测试,但插件忽略了调试输出中看到的 问题答案: 通过检查传递给JAXB XJC的参数的M

  • 我对Jaxb和这个maven-jaxb2插件非常陌生 这是我的. xsd文件: 这是我的。xjb文件: 当它生成时,它给出的java类有点像: 但是我不想为用户和用户列表重复相同的代码,我可以通过注释或定义正则表达式来做什么。请建议一些方法。 我只是想知道这段代码要写什么 因此,当它创建用户类时,它会显示@xmlRootElement(name='user'),而其他类的@xmlRootEleme

  • 问题内容: 我想将我的Maven2构建文件切换到gradle。使用gradle从WSDL + XSD生成Java类似乎没有进一步的文档记录,对此没有gradle插件。我将以下配置与maven一起使用,并搜索等效的gradle。 问题答案: 我解决了…

  • 对于所有给定的XSD,jaxb2 maven插件不会生成包信息。java文件。(它只生成类)。我们仍然使用Java1.8 我的pom看起来像这样: 有什么想法吗?

  • 我正在使用GitHub的jvnet Maven-jaxb2-plugin尝试JAXB Maven示例项目https://github.com/highsource/maven-jaxb2-plugin/releases.我使用的是最新版本0.13.0,并下载了maven-jaxb2-plugin-sample-jaxbplugins-0.13.0-maven-src。拉链 我通过命令行成功地运行了

  • 我正在尝试使用pluggin从wsdl创建Java类。 在版本1.5中,这段代码来自WSDL中的Generate classes With jaxb2 maven plugin: 但当使用插件版本2.3.1时,我会出现以下错误: 有人知道如何在这个新的插件版本中使用WSDL文件吗?