問題タブ [schemagen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JAXB JXC は、@XmlTransient に関係なく、列挙型のスキーマを生成します
JXC スキーマ生成 ant タスクを使用すると、列挙型を無視するようには見えません。生成された XML に関連しないタイプまたはマイナーな構成値を示すために内部的に使用される列挙型がいくつかあります。
列挙型を @XmlTransient として使用してフィールドを除外し、オブジェクトのスキーマから除外できますが、列挙型の simpleType 記述子は引き続き生成されます。
例:
生成されたスキーマ:
JXCに列挙型を無視させる方法について誰かアイデアがありますか? XML マップされたプロパティまたはフィールドで使用されておらず、列挙自体は @XmlTransient とマークされています。なぜそれがまだ私のスキーマの一部なのですか?
java - maven-jaxb-schemagen-pluginをJava7で動作させることは可能ですか?
maven-jaxb-schemagen-plugin
Java7で使おうとすると
エラーが発生します:
AnnotationProcessorFactory
Java 7で削除/非推奨になっているようですが?このプラグインを使用してjaxbschemagenを動作させることは可能ですか?JDK 7を使用するときにJAXBソースコードからスキーマ生成を取得するための代替アプローチはありますか?
command-line - コマンドライン/クラスパス設定からSchemagen(Jena)を実行
私は Jena API を学んでおり、Schemagen を使用して、パッケージ com.hp.hpl.jena.vocabulary のようなクラスを自分の語彙用に作成したいと考えています。
http://www.apache.org/dist/incubator/jena/apache-jena-2.7.0-incubating/で Jena をダウンロードしました。ダウンロードしたら、解凍してそのままにしておきます。
C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating は、bat フォルダー、bin フォルダー、javadoc-arq フォルダーなどがあるフォルダーです。
C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating\lib にあるすべてのライブラリと相対リンクを使用して、プロジェクトの 1 つで Jena をテストしました。動作します。
コマンド ラインで簡単に使用できるようにするために、ファイル "MyKnowledgeBase.rdf" を lib フォルダーに移動しました。
libフォルダーから試しました
そしてこれを入手
だから私はクラスパスを設定しようとしました:
しかし、私はまだ同じエラーがあります。私も試してみました
私がする時
入力した内容を取得します
各jarの絶対パスで set CLASSPATH を使用しようとしましたが、機能しません。
だから今、私は何をすべきかわかりません。
Jena では、jena-core-2.7.0-incubating.jar (netbeans を使用) のパッケージ「jena」に schemagen.class が見つかりました。
エクスプローラーでは、クラスファイルが見つかりませんでした。
java -jar を実行するコマンドラインですでにいくつかのプロジェクトを実行しているため、Java とコマンドラインは問題ありません
ご協力ありがとうございました
編集: 引数 -classpath と %CLASSPATH% の間のスペースを削除しましたが、別のものが得られました \o/ まだ機能しませんが、進行中です!
「認識されないオプション」および「Java 仮想マシンを作成できませんでした」
Edit2 : これを解決できなかったので、netbeans で新しいプロジェクトを作成しました。schemagen クラスのコピーを作成し、それをメイン クラスとして配置し、すべての jar をライブラリとして含めます。その後 :
java - コントラクトラスト(jaxb schemagen経由)Webサービスを文書化する方法は?
私はWebサービスを開発しましたが、当然のことながら、ユーザーはドキュメントを見たいと思っています。javadocコメントまたは明示的なアノテーションを使用して、コードを単純に文書化したいと思います。
また
ここで証明されているように、上記はサポートされていません。
- JAXB-273-アノテーションからxs:documentation要素を作成する2006年のリクエスト
- JAXB-369-コメントからxs:documentation要素を作成する2007年のリクエスト
- SO-470001-「それはできません」stackoverflowの質問
したがって、上記を使用してサービスにコメントすることはできないことを理解しています。しかし...確かに、手動ではない方法でそうする方法はまだあります。このためだけにすべてのXMLを手作りする必要がありますか?それが答えである場合、なぜこの機能をJAXBに組み込むことにもっと注意が払われないのですか?エンタープライズグレードのWebサービスには、まったく必須のようですよね?
xsd - 別のパッケージに Enum を含む JAXB SchemaGen
別のパッケージの列挙型を参照する JAXB オブジェクトからスキーマを生成するにはどうすればよいですか?
以下に例を示します。
列挙型クラス
JAXB クラス
パッケージ情報.java
アリのターゲット
上記の例を実行すると、次のようになります。
[schemagen] 異常な package-info.java パス: package-info.java [schemagen] 7 つのソース ファイルからスキーマを生成しています [schemagen] 注釈処理中に問題が発生しました。[schemagen] 詳細については、以下のスタック トレースを参照してください。[schemagen] java.lang.NullPointerException [schemagen] at com.sun.tools.jxc.model.nav.APTNavigator$2.onDeclaredType(APTNavigator.java:428) [schemagen] at com.sun.tools.jxc.model.nav .APTNavigator$2.onClassType(APTNavigator.java:402) [スキーマゲン] com.sun.tools.jxc.model.nav.APTNavigator$2.onClassType(APTNavigator.java:456) [スキーマゲン] com.sun.istack.tools で.APTTypeVisitor.apply(APTTypeVisitor.java:27) [スキーマ生成] com.sun.tools.jxc.model.nav.APTNavigator.getBaseClass(APTNavigator.java:109) [スキーマ生成] com.sun.tools.jxc.model で.nav.APTNavigator.getBaseClass(APTNavigator.
文字列に切り替えるとエラーが発生するため、列挙型がエラーの原因であることはわかっています。列挙型が同じ名前空間または異なる名前空間にある上記の例でスキーマを生成するにはどうすればよいですか?
xsd - schemagen.exe は、順序が決まっていない xsd スキーマを生成します。
org.codehaus.mojo jaxb2-maven-plugin を使用して、クラスの xsd スキーマを生成しました。プラグイン サイト http://mojo.codehaus.org/jaxb2-maven-plugin/faq.htmlは、プラグインが JDK ユーティリティ schemagen.exe を使用して生成を行うことを伝えます。 問題は、生成された xsd の順序が決定されず、プラグインを実行するマシンに依存することです。
そして生成されたスキーム:
しかし、私の同僚が生成を実行すると、別の注文が発生します。
を使用しております
- JDK1.6.0_26
- jaxb2-maven-plugin 1.3
- jaxb-impl バージョン 2.1.12 (プラグインで使用)
この順序を制御する方法はありますか?
class - jaxb schemagen 生成のクラスを無視する
私は2つのクラスのグループを持っています。グループ AI のものからは、schemagen を使用して XML スキーマを生成したいと考えており、グループ BI のものはスキーマ生成に関して単純に無視したいと考えています。どうやってやるの?groupA jaxb related のクラスにのみアノテーションを付けました。スキーマを生成しようとすると、グループ B のクラスに対して「引数のないデフォルトのコンストラクターがありません」と表示されます。
xsd - schemagenを使用する場合、xmlns:tnsはどこから来ますか
いくつかの注釈付きPOJOからXSDを作成するためにschemagenを使用しています。
これが私たちのアリのターゲットです
これは生成しています
tns名前空間はどこから来て、それは何を意味しますか?
nullpointerexception - schemagen NullpointerException
Javaクラス:
- JDKバージョン:1.6.0_31
例外スタックトレースschemagenUser.java
誰かがここで私を助けてくれますか?
soap - JAXB Schemagen で java.util.Date を拡張したカスタム Java クラスから xsd を生成する方法
カスタムJavaクラス「CustomDate1」がjava.util.Dateを拡張しており、SchemagenによってXSDファイルを生成したいと考えています。XSDファイルのようですが、「customDate1」には拡張項目がありません。理由はわかりません。おそらくJAXBはDateを拡張するクラスをサポートしていませんか?
Java クラス:
}
XSD ファイル:
<xs:complexType name="customDate1">
<xs:sequence/>
</xs:complexType>
ジョーイ