有 Java 编程相关的问题?

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

java JAXB2 Maven插件:从异常生成xsd

我有一个例外:

@WebFault(targetNamespace = "http://somenamespace/server/faults")
public class SoapBadRequestException extends Exception {

private static final long serialVersionUID = 1L;

private FaultBean faultBean;

public static class FaultBean {}

public SoapBadRequestException() { super(); }

public SoapBadRequestException(String message, FaultBean faultBean, Throwable cause) {
    super(message, cause);
    this.faultBean = faultBean;
}

public SoapBadRequestException(String message, FaultBean faultBean) {
    super(message);
    this.faultBean = faultBean;
}

public FaultBean getFaultInfo() { return faultBean; }

@Override
@XmlTransient
public StackTraceElement[] getStackTrace() { return super.getStackTrace(); }

@XmlTransient
@Override
public Throwable getCause() { return super.getCause(); }
}

我有插件配置:

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <id>schemagen-fault</id>
                    <goals>
                        <goal>schemagen</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <transformSchemas>
                    <transformSchema>
                        <uri>http://somenamespace/server/faults</uri>
                        <toPrefix>faults</toPrefix>
                        <toFile>faults_schema.xsd</toFile>
                    </transformSchema>
                </transformSchemas>
                <sources>
                    <source>
                        src/main/java/blabla/SoapBadRequestException.java
                    </source>
                </sources>
            </configuration>
        </plugin>

我得到了以下错误:

java.lang.StackTraceElement is a non-static inner class, and JAXB can't handle those.
this problem is related to the following location:
    at java.lang.StackTraceElement (Unknown Source)
    at java.lang.Throwable.getStackTrace (Unknown Source)
    at java.lang.Throwable (Unknown Source)
    at java.lang.Exception (Unknown Source)
    at java.lang.RuntimeException (Unknown Source)
    at blabla.SoapBadRequestException(src/main/java/blabla/SoapBadRequestException.java:12)

正如您所看到的,重写没有帮助。 我试着从here和Goooogled那里得到建议,但没有任何帮助


共 (0) 个答案