1

私は次のクラス構造を持っています:

@XmlRootElement
public class A{
private String s;
private B b;
//getter and setter
}
@XmlRootElement
public class B{
private String ss;
//getter and setter
}

class A のスキーマを生成するために schemagen を使用する方法は?

クラス B のスキーマを次のように生成できます。

schemagen B.java

cmd で、しかしクラス A に同じものを使用する場合、つまり:

schemagen A.java

次のエラーが発生しました:

Problem encountered during annotation processing;
see stacktrace below for more information.
java.lang.NullPointerException
.
.
.

A.java:14: cannot find symbol
symbol  : class B
location: class beans.A
    public B getB() {
           ^
A.java:18: cannot find symbol
symbol  : class B
location: class beans.A
    public void setB(B b) {
                     ^
A.java:22: cannot find symbol
symbol  : class B
location: class beans.A
    private B b;
            ^
3 errors
4

1 に答える 1

2

私は解決策を見つけました:クラスパスとすべての内部Beanも指定する必要があります。

次のコマンドが機能しました:

schemagen -cp . A.java B.java
于 2012-07-24T11:44:01.987 に答える