Использование плагинов JAXB2 Basics для XJC в задачах gradleJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование плагинов JAXB2 Basics для XJC в задачах gradle

Сообщение Anonymous »

Пытаюсь создать bean-компоненты из файлов XSD с помощью метода toString с использованием базового плагина JAXB2, но получаю ошибку «неизвестный параметр -XtoString»
Здравствуйте,
Я хотел бы создать классы Java с помощью методов toString с помощью плагина JAXB2. Мой код сейчас выглядит так:

Код: Выделить всё

plugins {
id 'java'
id 'org.unbroken-dome.xjc' version '2.0.0'
}

group = 'com.example'
version = '1.0.0'

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21)) // Set Java version
}
}

repositories {
mavenCentral()
}

dependencies {
// Jakarta XML Bind API
implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
implementation 'org.glassfish.jaxb:jaxb-runtime:4.0.2'

// XJC for generating beans
annotationProcessor 'org.glassfish.jaxb:jaxb-xjc:4.0.2'

// https://mvnrepository.com/artifact/org.jvnet.jaxb2_commons/jaxb2-basics
implementation 'org.jvnet.jaxb2_commons:jaxb2-basics:0.13.1'
implementation 'org.jvnet.jaxb2_commons:jaxb2-basics-runtime:0.13.1'
}

def schemaDir = file("src/main/resources/xsd") // Directory for XSD files
def outputDir = file("$buildDir/generated-sources/xjc") // Directory for generated classes

// New version of legacy task (see below)
// Task to generate Java beans from XSDs
task generateBeans {
group = "code generation"
description = "Generates Java Beans from XSD schemas"

doFirst {
delete outputDir
mkdir outputDir
println("Before XJC task")
}

doLast {
println("Start processing XSD files")
ant.taskdef(name: 'xjc',
classname: 'com.sun.tools.xjc.XJCTask',
classpath: configurations.annotationProcessor.asPath)

fileTree(schemaDir).matching { include '**/*.xsd' }.files.each { xsdFile ->
logger.lifecycle("Generating Java classes for schema: ${xsdFile}")
println("Generating Java classes for schema: ${xsdFile}")
println "Processing XSD: ${xsdFile}"

def targetPackage = 'com.example.generated'
ant.xjc(destdir: outputDir,
package: targetPackage,
extension: true) {
schema(file: xsdFile)
arg(value: '-XtoString') // Aktiviert das ToString-Plugin
}
}
println("Finished processing XSD files")
}
}
и пример XSD выглядит так Я получаю сообщение об ошибке

Код: Выделить всё

Execution failed for task ':generateBeans'.
> unknown parameter -XtoString
Я уже просматривал документацию, которую можно найти здесь, но не смог найти никакой информации о том, как использовать плагин с gradle.
EDIT: я интересно, почему arg(line: "-Xlocator") работает.
Мы переходим с гораздо более старой версии JAXB. Оно устарело?
Спасибо и наилучшие пожелания

Подробнее здесь: https://stackoverflow.com/questions/792 ... adle-tasks
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»