如何在gradle构建中正确添加jaxb2 setter插件?

时间:2016-10-18 05:36:50

标签: java maven gradle jaxb jaxb2

我想为gradle build设置jaxb2 setter插件,以获取集合属性的setter方法。 maven和ant构建文件只有示例,但gradle没有。

'com.github.jacobono.jaxb'插件正在执行必要的工作,但没有为集合创建setter方法。

请帮助我解决这个问题,为gradle构建中生成上述案例的setter方法以及java文件生成。

1 个答案:

答案 0 :(得分:0)

经过一些搜索,我发现自己就是解决方案。希望这可能有助于某人。

这是我在完成研究后完成这项任务的方法。这按预期工作。将以下内容添加到构建文件中。

buildscript {

dependencies {
    classpath 'com.github.jacobono:gradle-jaxb-plugin:1.3.5'
}

}

申请插件:'com.github.jacobono.jaxb'

依赖项{

jaxb 'com.sun.xml.bind:jaxb-xjc:2.2.7-b41'
jaxb 'com.sun.xml.bind:jaxb-impl:2.2.7-b41'
jaxb 'javax.xml.bind:jaxb-api:2.2.7'
jaxb "org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.6.5"
jaxb "org.jvnet.jaxb2_commons:jaxb2-basics:0.6.4"
jaxb "org.jvnet.jaxb2_commons:jaxb2-basics-annotate:0.6.4"
jaxb "org.jvnet.jaxb2_commons:jaxb2-value-constructor:3.0"

}

jaxb {

System.setProperty('javax.xml.accessExternalSchema', 'all') //To solve external schema dependencies
xsdDir = "src/main/resources/schema/" //xsd directory
xjc {
    taskClassname = "org.jvnet.jaxb2_commons.xjc.XJC2Task" // This is for setter plugin
    args = ["-Xsetters","-Xsetters-mode=direct"]
}

}