サーバーとクライアント間の安定したインターフェースを設定するために、JAXB を DTO として使用していました。とにかくこれは関係ありません。重要なのは、次のコンパイル エラーが発生する一連のクラスを作成したことです。
このコンテキストでは、名前空間 'namespace' と名前 'name' を持つ XML 要素宣言を解決できません
Eclipse は、引用符内の「名前」にエラーとして下線を付けました。このクラスは、xjc が生成する代わりに手動で作成されます。
@XmlRootElement(name="name", namespace="namespace")
@XmlType(name="")
public class UserDTO {
private UserType userType;
@XmlElement
public UserType getDTO(){
return userType;
}
public void setDTO(UserType userType){
this.userType=userType;
}
}
ここで、UserType は xjc によって生成されたクラスです
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "userType", propOrder = {
"userId",
"userName"
})
public class UserType {getter;setter}
したがって、基本的に UserDTO は、サブ jaxb タイプをラップする単なるラッパーです。
とにかく、このコードが Netbeans で完全に機能したことを言及するだけで、それがプラットフォームに依存していたかどうかはわかりません (そうあるべきではありません) が、Eclipse に関しては、エラーによりコンパイルが妨げられました。
プロジェクトを実行する環境は次のとおりです。 1. MacOsX Lion 2. JDK: 1.6.0_37 3. Eclipse バージョン: Juno with Package 1 4. JAXB プラットフォーム: Generic JAXB 2.1
誰でもアイデアを共有できますか?
ps:マヌエルが提案したように、JDK情報とライブラリ設定を追加しました。