問題タブ [maven-bundle-plugin]
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 - Mavenバンドルプラグインを使用して特定の属性がバンドルのマニフェストに追加されないようにするにはどうすればよいですか?
リリースjarから特定のヘッダーを削除したい(例:「Built-by」)。
ヘッダーを空のコンテンツに設定するとうまくいくはずだと読みましたが、うまくいきません。たとえば、私は以下を使用しています:
追加されている間Something-else
、他のすべてのヘッダー(例Built-By
)は残ります。洞察はありますか?ありがとう!
maven-bundle-plugin - Include-Resource 命令での Felix Maven バンドル プラグインの問題
問題: パッケージ フェーズでバンドルされている最終的なバンドル wab に含める必要があるいくつかのファイルを target/temp の下に生成しています。私が使用しているコードスニペットは次のとおりです。
target/temp の下に生成されたディレクトリを、宛先ディレクトリ構造に含めたいと思います。ただし、上記の構文には、temp の下のファイルがどこにも含まれていません。しかし、maven-resources は wab のルートの場所に含まれています。
ドキュメントはこのページからのものです: http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html<Include-Resource>
指示の下。「特定のリソースをバンドル jar のサブディレクトリに配置する必要がある場合は、割り当てフォームを使用します。最初のパスは宛先パス (リソースがファイルの場合はファイル名を含む) であり、2 番目のパスはコピーするリソース。」
チェックしたところ、maven-bundle-plugin が使用されているパッケージ フェーズの前に、必要なディレクトリが target/temp の下に生成されています。私が見逃しているものはありますか?
この問題について何か助けていただければ幸いです。
maven - Maven に Embeded-Dependency を追加する
実際、プロジェクトをビルドすると、実行中の OSGI コンソールにバンドルがデプロイされます。これで、バンドルはインストール済みの状態になり、commons-net バンドルが見つからないという赤い警告が表示されます。
これを解決する 1 つの方法は、実行中の osgi フレームワーク自体に明示的にバンドルをインストールすることです。
別の方法として、Maven に Embeded-Dependency を追加することもできます。しかし、このアプローチは機能していません。maven-build-plugin の instruction タグに Embeded-Dependency を追加しました。エラーは表示されませんでした。
何か提案があれば教えてください。
java - mavenバンドルプラグインを使用してOSGiバンドルに依存関係のjarを含める方法は?
依存関係の jar を追加したい OSGi 準拠のバンドル (jar) があります。追加したい依存関係は、データベース ドライバーです。その jar は、私が使用している Karaf コンテナーの lib フォルダーには存在せず、そこに手動で追加する方法はありません。バンドルをデプロイできる deploy フォルダーにしかアクセスできません。バンドルをパッケージ化するために Maven バンドル プラグインを使用しています。そのため、バンドルに依存関係の jar を追加する方法があるかどうかを知りたいと思いました。現在、7zip でバンドルを開き、jar にコピーして jar を追加することで、jar をバンドルに手動で追加していますが、正常に動作します。タグを使用してみまし<embed-dependency>
たが、その後バンドルがデプロイされません。それを行う方法はありますか?
pom.xml
以下は、バンドルに追加したい依存関係です。
のビルド タグは次のとおりですpom.xml
。
デプロイしようとすると、次のエラーが表示されます。
java - Eclipse 4.2 で Maven バンドルが no save を実行しないようにする
私の Eclipse ワークスペースでは、Java エディターでファイルを保存すると、m2e がプロジェクトで defaultGoal (インストール) を実行します。これには、MANIFEST.MF ファイルの書き換えが含まれます。m2e コネクタ (maven-scr-plugin) を持たない別のプラグインを使用しているため、マニフェスト ファイルが役に立たなくなります。
私がやりたいことは、保存時に maven-bundle-plugin が実行されないようにすることです。これまでのところ、2 つの可能な解決策を考え出しました。
Eclipse ライフサイクル マッピングを編集することはできますが、これでは何らかの理由でうまくいきません (そうすべきだと思います)。
defaultGoal
または、 pom.xml のを次のように変更すると、バンドル プラグインが機能する<build>
ようcompile
になるまでには至りませんが、Eclipse の特殊性のために、pom を変更するのは本当に嫌です。
m2e プラグインの defaultGoal を定義する方法はありますか? これに対する他のアプローチはありますか?ありがとう!
osgi - Bundle-Classpath の jar からの Import-Package エントリを処理する方法は?
Bundle-Classpath にいくつかの jar を配置しました。以下の行は、Felix プラグインを使用してバンドル用の manigest.mf を作成する pom.xml のエントリを示しています。
これらの jar にはパッケージをインポートするクラスがありますが、私が見る限り、すべて MANIFEST.MF があり、これには Import-Package ステートメントの独自の (正確な) リストがあります。
ただし、(Maven とバンドル プラグインを使用して) プロジェクトをビルドすると、特定のクラスへの参照を解決できないため、エラーが報告されます。具体的には、エラーは次のとおりです。
これらのエラーはすべて com.springsource.org.h2-1.0.71.jar から発生し、これらのパッケージはすべてその jar のマニフェストにインポートされます。
理解できません:
- これらのパッケージが com.springsource.org.h2-1.0.71.jar の MANIFEST>MF に既にインポートされている場合、Maven バンドル プラグインが不平を言うのはなぜですか
- 問題が com.springsource.org.h2-1.0.71.jar からのみ発生するのはなぜですか? com.springsource.org.apache.lucene.search-2.3.2.jar には MANIFEST.MF に Import-Package のエントリもいくつかありますが、その特定の jar を削除しようとすると、ビルドは正常に完了しますか?
2点目については、調べてみたところ、パターンがあるような気がします。com.springsource.org.apache.lucene.search-2.3.2.jar がそのマニフェストで指定するすべてのインポートは、同じく指定されている com.springsource.org.apache.lucene-2.3.2.jar によって満たされています。 Bundle-Classpath で。
com.springsource.org.apache.lucene-2.3.2.jar (Bundle-Classpath 上にある) によって満たされている com.springsource.org.h2-1.0.71.jar の依存関係は、ただし、エラー メッセージには、Bundle-Classpath の jar によって満たされない依存関係がエラー メッセージにリストされています。
何が起こっているのかよくわかりません。Bundle-Classpath で指定される jar ファイルに関するルールは何ですか? マニフェストのインポート (Import-Package で指定されている場合でも) 要素は、メイン プロジェクトの pom にリストする必要がありますか? それとも、これはMavenバンドルプラグインが強制しているものですか? 後者の場合、強制から逃れる方法はありますか?
maven - maven-bundle-plugin から bnd ディレクティブを使用するには?
maven-bundle-plugin から bnd ディレクティブ命令を使用するにはどうすればよいですか? bnd ディレクティブが「-」文字で始まっています。これは無効な xml タグです:
maven-bundle-plugin の公式ページを確認したところ、「-」文字でも開始する必要があるとのことでした。
ディレクティブ - 「-」文字で始まる命令は、BND に特別な処理を実行するように通知するディレクティブと見なされ、マニフェストにコピーされません。
バンドルの目標の説明にもこの情報がないようです。いくつかの特別な処理を実行し、マニフェストにコピーされません。