有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java xmlbeansmavenplugin在windows和unix系统上生成不同的输出

我正在使用xmlbeans maven插件从xsd和wsdl文档的结构生成大量java bean

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
    <version>2.3.3</version>
</plugin>

我有许多类似命名的元素。以下xsd代码段来自两个不同的文件,其中包含complexTypes IpType和IpType

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:nmspc1="http://some.system.dk" 
targetNamespace="http://some.system.dk" 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" > <import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"  schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<complexType name="IPType" abstract="true">
    <sequence>
        ...
    </sequence>
</complexType>
<complexType name="ExternalType" abstract="true">
    <sequence>
        ...
    </sequence>

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    elementFormDefault = "qualified" targetNamespace = "http://www.some.dk"
    version = "20070320"
    xmlns:tns = "http://www.some.dk"
    xmlns:xs = "http://www.w3.org/2001/XMLSchema">
    <xs:element name = "ipHeader" type = "tns:ipHeaderType"/>
    <xs:complexType name = "ipType">
        <xs:sequence>
            ...
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name = "externalType">
        <xs:sequence>
            ...
        </xs:sequence>
    </xs:complexType>
...

出于某种原因,这将创建类文件IpType和IPType2。插件枚举类型,就好像它不区分大小写一样。在共享名称但以大写字母区分的文件中定义的所有complexType元素都是这种情况

现在,这通常不会是一个问题,因为我可以使用正确的类并完成它,但在这里它变得很有趣: 生成的文件在不同的操作系统上有所不同。在windows(和redhat 6.3)上,类被命名为

IpType.java
IPType2.java

关于debian:

IPType.java
IpType2.java

(注意p是不同类别的资本)

这意味着当我在某些系统上构建项目时,java代码中的导入语句不匹配

我使用Jenkins开发和构建了几种不同的操作系统,所以这是一个主要问题

所以我有三个问题: 1.有没有办法让插件以不同的方式命名文件? 2.有没有办法使这些文件独立于操作系统 3.有没有一个插件可以更好地处理这个问题


共 (0) 个答案