6

私はJBoss EAP 6.0.1 (JBoss AS 7.1.1 または 7.1.3 ではありません!) を使用しており、Maven プロジェクトを始めたばかりです。

通常の Eclipse プロジェクトでは、プロジェクトのターゲット ランタイムを JBoss EAP サーバー ランタイムに設定すると、そのすべてのライブラリがプロジェクトで利用できるようになります。ここで利用できるということは、たとえば ctrl-t を使用してこれらのライブラリのいずれかでクラスを検索できることを意味し、ソースを添付すると、デバッグ時にそれらにステップインできます。

Maven (m2e) を使用してこれを行うにはどうすればよいですか?

JBoss EAP 6.0.1 の Maven リポジトリーはhttp://maven.repository.redhat.com/techpreview/eap6/6.0.1/にあります。

プロジェクトに root 依存関係 (JBoss EAP 自体を表す) を追加する必要がありますか? その場合、この依存関係は何でしょうか?

ここで非常によく似た質問を見つけました: Maven または JBoss Tools を使用して Eclipse に JBoss AS 7 モジュールを追加する

しかし、受け入れられた答えは、「これらのリンクを見てください」と言うだけで、これを正確に行う方法を教えてくれません(これはEAP 6.0.1ではなく AS 7.1.1 用です)。

アップデート

私はその質問について完全に明確ではありませんでした。Java EE API への単なる参照を探しているわけではありません。それは簡単なので、私はそれを行う方法を知っています

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>1.6</version>
    <scope>provided</scope>
</dependency>

また、そのスペック jar のベンダー バージョンも探していません。私は絶対に次のものを探していません:

<dependency>
    <groupId>org.jboss.spec</groupId>
    <artifactId>jboss-javaee-6.0</artifactId>
    <version>1.0.0.Final</version>
    <type>pom</type>
</dependency>

私が探しているのは、プロジェクトですべての実装ライブラリを利用できるようにすることです。JBoss AS 6 サーバー ランタイムはデフォルトでこれを行います。JBoss AS 7/EAP 6 サーバー ランタイムでは、[サーバー] -> [ランタイム環境] -> [デフォルト クラスパス] に移動してこれを行うことができます(個々のパスをそこに入力するか、単に/modules rootpath ですべてを 1 か所に)

Maven プロジェクトでこれに相当するものを探しています。

私はSPEC jarを探していません!!!!

ターゲット サーバーのACTUAL IMPLEMENTATION jarをステップ実行する必要があるため、ACTUAL IMPLEMENTATION jar が本当に必要です。これらを展開できないことはわかっていますし、展開するつもりもありません。それらは私の IDE に存在する必要があるため、ターゲット JVM にあるものと一致するソース コードがあり、CTRL-SHIFT-T を使用してIMPLEMENTATIONクラスを検索し、CTRL-CLICK を使用してそれらに移動し、呼び出し階層を分析することができます。

繰り返しますが、SPEC jar を探しているわけではありません!!!!

4

6 に答える 6

3

依存関係をリポジトリに手動でインポートできます。私はそれを私たちのもの(アーティファクトリ)に入れましたが、それは機能しています。

参照: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/Install_the_JBoss_Enterprise_Application_Platform_6_Maven_Repository_Locally.html

于 2013-07-05T17:57:40.053 に答える
2

ライブラリは Maven 経由で管理され、ターゲット ランタイムはデフォルトで無効になっていますが、ターゲット ランタイムを明示的に選択することはできます。

このターゲット ランタイムがクラスパスに配置するライブラリは、Maven が既に配置しているライブラリに加えて、Maven プロジェクトのクラスパスにも配置されます。これらのライブラリにソース コードを (手動で) 添付できます。

AS の内部をデバッグしてステップ実行したら、ターゲット ランタイムを再度削除するだけです。

純粋に Maven を介して JBoss EAP 6.0.1 (JBoss AS 7.1.1 または 7.1.3 ではない) でこれを行う方法を示す回答は引き続き歓迎されるため、私自身の回答は受け入れません;)

于 2013-02-04T17:26:16.170 に答える
1

https://community.jboss.org/wiki/MavenRepositoryに JBoss Maven リポジトリのわかりやすい説明があります。

使用する必要があるリポジトリは次のとおりだと思います: https://repository.jboss.org/nexus/content/groups/public-jboss/ 探しているすべての JBoss アーティファクトが含まれている必要があります。

groupId/artifactId が正しくない可能性があります。https://repository.jboss.org/nexus/index.html#welcomeにリポジトリの検索機能があります。

とにかくデプロイできないため、impl jar を含めないことをお勧めします。したがって、spec jar は問題ないはずです。

<dependency>
    <groupId>org.jboss.spec</groupId>
    <artifactId>jboss-javaee-6.0</artifactId>
    <version>1.0.0.Final</version>
    <type>pom</type>
</dependency>

参照: http://www.andygibson.net/blog/quickbyte/jboss-java-ee-6-spec-dependency-in-maven/

JBoss サーバーの gav は大幅に変更されたようです。JBoss 7 は次の場所にあります。

<dependency>
  <groupId>org.jboss.as</groupId>
  <artifactId>jboss-as-ee</artifactId>
  <version>7.1.3.Final</version>
</dependency>
于 2013-01-31T08:58:54.843 に答える