我想使用jaxb2-maven-plugin生成java类。我使用以下配置:
pom.xml:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<id>SomeID</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<extension>true</extension>
<clearOutputDir>true</clearOutputDir>
<sources>
<source>src/main/xsd/schema.xsd</source>
</sources>
<noGeneratedHeaderComments>true</noGeneratedHeaderComments>
</configuration>
</execution>
</executions>
</plugin>
模式。xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://my.target.namespace/uri"
xmlns="http://my.target.namespace/uri"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:h="http://my.uri.for.prefix.h"
xmlns:f="http://my.target.namespace/uri">
<xsd:import namespace="http://my.uri.for.prefix.h" schemaLocation="schema2.xsd"/>
<xsd:complexType name="FooType">
<xsd:sequence>
<xsd:element ref="h:something" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="FooType" type="FooType" />
</xsd:schema>
Jaxb2插件正在为我生成以下包信息。爪哇:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://my.target.namespace/uri", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package ...;
但是,我想得到的是:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://my.target.namespace/uri", xmlns = {
@XmlNs(prefix="f", namespaceURI="http://my.target.namespace/uri"),
@XmlNs(prefix="h", namespaceURI="http://my.uri.for.prefix.h")
}, elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package ...;
import javax.xml.bind.annotation.XmlNs;
我生成的文件中缺少前缀。怎么做?我已经尝试创建一个绑定文件,但这并没有达到我的预期效果。
关于如何解决这个问题,请参见以下答案:https://stackoverflow.com/a/10812236/1389219
答案写得很好,很容易理解。基本上你必须:
jaxb2-maven-plugin
,支持maven-jaxb2-plugin
jaxb2名称空间前缀
依赖项,并提供
您的POM文件将变得更加冗长,但按照您需要的方式生成
package-info.java
是值得的。
作为奖励,有一堆与
maven-jaxb2-plugin
相关的附加插件和依赖项提供了额外的功能。我发现很有帮助的一个是jaxb2-rich-conce-plugin
,它提供了生成构建器并使生成的类不可变的能力*。
*严格说来,这并不是一成不变的(因为它只是将setter方法更改为包私有),但足以让它们感觉更安全。
问题内容: 我很困惑,我希望员工ID以前缀格式自动生成,我知道从sql服务器中的触发器触发之前是可能的,我按照帖子 http://www.aspdotnet- suresh.com/2012/04/set-custom-自动生成的increment.html 显示器是 但是我想从触发器之前的插入中执行此操作,并且此触发器在同一表和同一行中工作- 和用户ID自动创建?喜欢–08U13015,08U1
我试图使用以下命令将文件部署到远程存储库: 我收到了这个错误消息: 在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀“–Durl=http”的插件,这些插件可从中央存储库[local(/Users/ssurendran/.m2/repository]获得(https://repo.maven.apache.org/maven2)
例子 #include <stdio.h> int main(void) { int i; for (i = 0; i < 10; i++) printf("%d ", i); putchar ('\n'); return 0; } 技巧 使用-fverbose-asm选项就可以生成带有详细信息的汇编文件: $ gcc -S -fverbose-asm foo.c
我只是将代码从swagger代码生成器迁移到open api代码生成器。我通过maven插件使用生成器。我需要它为一个外部API(在我的控制之外)生成一个客户端,这里给出了使用的swagger文件。 我的插件设置如下: 为了有一个最小的例子,我把昂首阔步的来源去掉了: 当生成器运行正常时,代码无效 结果列表«GenericRow»完全错误。 另一方面,类的名称是正确生成的只有变量名称处理错误。 如
SI的FTP和SFTP出站适配器允许将带有可自定义后缀的临时文件默认发送到。但我正在与一个遗留系统进行接口,该系统只能很好地使用前缀命名的临时文件重命名(例如->)。 也就是说,我可以使用RemoteFileTemplate的API来禁用临时文件、发送和重命名。 对于实现前缀临时文件重命名方案,有什么比RemoteFileTemplate更好的选项?
我对spring boot和创建我的第一个应用程序非常陌生。创建数据源时,我使用了带有前缀的@ConfigurationProperties和要从Application.Property中读取的属性。 但是,这个设置似乎对我不起作用,我的程序没有运行。 我的pom.xml文件包含: 我的存储库类: 我的主要类: 请让我知道如果我需要提供任何其他信息以及。