1

私は、これらの指示が説明していると思うことを達成したいと考えています。

rcp プラットフォーム アプリケーションから外部の Maven ベースのプロジェクトを使用したいと考えています。

新しいプロジェクト ウィザードを使用して、Maven ベースのモジュールを含む新しい Maven ベースのアプリケーションを構築しました。外部依存関係を Maven ベースのモジュールに追加しました。

また、モジュールの pom に publicPackages セクションを追加しました。

モジュールを右クリックして [ProjectProperties] -> [PublicPackages] に移動すると、正しいパッケージがチェック マーク付きで表示されます。

私のmavenモジュールは問題なくビルドされます。

ただし、maven-module を別のモジュールの依存関係として追加しようとすると、PublicPackages にリストされているパッケージが見つかりません。

nbm の中をのぞくと、公開したい jar が netbeans\modules\ext の下にあることがわかります

別のmavenプロジェクトをラップするmaven-moduleを構築する方法はありますか?

nbm -maven-plugin ドキュメントには、私がやりたいこととよく似た例が含まれています。

公開パッケージ宣言

デフォルトでは、すべてのモジュールのパッケージ (およびクラス) であり、特定のモジュールに対してプライベートです。API を他のモジュールに公開したい場合は、それらの公開パッケージを pom.xml で宣言する必要があります。これには、独自のクラスだけでなく、モジュールと一緒にパッケージ化され、他のモジュールで再利用するために公開される他のサードパーティ ライブラリ クラスも含まれます。

例えば:

       <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>nbm-maven-plugin</artifactId>
           <version>3.8.1</version>
           <extensions>true</extensions>
           <configuration>
              <publicPackages>
                  <publicPackage>org.foo.api</publicPackage>
                  <publicPackage>org.apache.commons.*</publicPackage>
              </publicPackages>
           </configuration>
       </plugin>

公開されたパッケージ org.foo.api (ただし org.foo.api.impl パッケージではない) と org.apache.commons で始まるパッケージがあるため、org.apache.commons.io と org.apache.commons の両方です。 exec パッケージは外部に公開されます

この動作は私が見ているものではないため、これらのドキュメントを正しく解釈していないことは明らかです。

4

0 に答える 0