問題タブ [pax]
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.
eclipse - ビルドに Maven を使用して、Eclipse RAP と OSGI/Spring-DM プラグインを統合する
背景 ドメイン モデルと永続化コード (Spring-ROO を使用して作成) を含むプロジェクトがあります。これを OSGi バンドルに変更し、Maven を使用して (PAX Construct スクリプト経由で) ビルドおよびデプロイしました。このバンドルは Equinox にうまくデプロイされ、さまざまなサービスなどにアクセスできます。
また、ドメイン バンドルによって実装されたサービス/Spring Bean を呼び出したい場所から Eclipse RAP プラグイン/バンドルもあります。ここからが興味深いところです。
質問):
1) Eclipse RAP プロジェクトを Maven でビルドするにはどうすればよいですか? mvn eclipse:to-maven
私は Eclipse RAP ターゲット プラットフォームのプラグインをローカル リポジトリに入れるという目標を使用しましたが、以下を使用すると:
次のエラーが表示されます。
[INFO] [pax:import-bundle {execution: default-cli}]
[INFO] Eclipse UI を com.propertyselldirect.propsell.build:provision:pom:1.0.0-SNAPSHOT にインポートしています
[INFO] Eclipse UI を依存関係として追加していますcom.propertyselldirect:rap:bundle:1.0.0-SNAPSHOT
[情報] ---------------------------------- --------------------------------------
[エラー] 致命的なエラー
[情報] ---- -------------------------------------------------- ------------------
[情報] org.eclipse.core:runtime のバージョンが null でした
[情報] --------------- -------------------------------------------------- -------
[情報] トレース
java.lang.NullPointerException: org.eclipse.core:runtime のバージョンが null でした
org.apache.maven.artifact.DefaultArtifact.getBaseVersion (DefaultArtifact.java:390) で
また、すべての Eclipse ランタイムと rap 依存関係を手動で追加してみました。その後、プロジェクトがビルドされますが、(を使用してpax-provision
) OSGi にデプロイすると、ほとんどの Eclipse RAP (および org.eclipse.core.runtime) プラグインがアクティブになりません。それらは主に としてリストされていINSTALLED
ます。
2) あるいは、Eclipse PDE を使用してビルドし、ドメイン プラグイン (およびおそらくすべての Spring-DM バンドル) を依存関係として含める必要があります。この場合、Eclipse PDE を (自動的に) 取得して、これらのプラグイン/バンドルにアクセスし、Maven リポジトリにデプロイするにはどうすればよいでしょうか? それらをターゲット プラットフォーム ディレクトリに手動でインストールし、それを RAP ターゲット プラットフォームにしますか? (つまり、すべての Spring-DM バンドルが追加された RAP ターゲット プラットフォームを持つ)。
他にもたくさん質問がありますが、今のところはこれで十分です。
Web 上の有用なドキュメントや記事へのポインタは大歓迎です。私はグーグルで検索しましたが、特に役立つものは見つかりませんでした。
jetty - pax web を使用して OSGI コンテナーに Web アプリケーションをデプロイ中にエラーが発生しました
こんにちは、Felix コンテナーに Web アプリケーションをデプロイしようとしています。マニフェスト ヘッダーの設定など、Web アプリで必要な構成をすべて完了しました。 Webapp-Context: Bundle-ClassPath: Bundle-Activator: Import-Package: Bundle-SymbolicName: etc同じコンテナ: pax-web-service-0.6.0.jar pax-web-jsp-0.7.1.jar pax-web-extender-war-0.7.1.jar pax-logging-service-1.5.0.jar pax-logging-api-1.5.0.jar
pax-web-service が pax-war-extender に含まれていると pax の Web サイトに書かれていましたが、pax-web-service バンドルがないと、他のすべてのバンドルがハンディキャップになるようです。
pax-web-extender-whiteboard-0.7.1.jar pax-web-jetty-0.7.1.jar などの他の pax バンドルを削除しましたが、それらの有用性は見られませんでした。
pax-web-jetty-0.7.1.jar も起動しません。PAX が提供するバンドルのいずれからも解決できない依存関係があります。
ブラウザに次のように表示されています: HTTP ERROR 403
/adminmodule/ へのアクセスに問題があります。理由:
禁断
Jetty:// を搭載
コンソールログには次のように表示されます:
[5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - REQUEST /adminmodule/ on org.mortbay.jetty.HttpConnection@1e94001 [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org. ops4j.pax.web.service.internal.model.ServerModel - マッチング [/adminmodule/]... [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.service.internal.model .ServerModel - {pattern=/adminmodule/.*,model=ResourceModel{id=org.ops4j.pax.web.service.internal.model.ResourceModel-2,name=,urlPatterns=[ に一致するパス [/adminmodule/] /],alias=/,servlet=ResourceServlet{context=/adminmodule,alias=/,name=},initParams={},context=ContextModel{id=org.ops4j.pax.web.service.internal.model.ContextModel -1,name=adminmodule,httpContext=org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext@11710be,contextParams={webapp.context=adminmodule}}}} [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.service.internal.HttpServiceContext - HTTP コンテキスト [org.ops4j を使用して [/adminmodule/] のリクエストを処理する.pax.web.extender.war.internal.WebAppWebContainerContext@11710be] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - sessionManager=org.mortbay.jetty.servlet.HashSessionManager@19c6163 [5884890 @qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - session=null [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - サーブレット = [5884890@qtp-16567002- 0 - /adminmodule/] DEBUG org.mortbay.jetty - chain=org.ops4j.pax.web.service.internal.model.FilterModel-3-> [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org. mortbay.jetty - サーブレット ホルダー= [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - フィルター org.ops4j.pax を呼び出します。web.service.internal.model.FilterModel-3 [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.service.internal.WelcomeFilesFilter - ウェルカム ファイル フィルターを適用します... [5884890@qtp -16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.service.internal.WelcomeFilesFilter - サーブレット パス: / [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web. service.internal.WelcomeFilesFilter - パス情報: null [5884890@qtp-16567002-0 - /adminmodule/] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - リソースの取得: [/adminmodule.jsp] [5884890@ qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - リソース [/adminmodule.jsp のバンドル [com.cisco.zaloni.gwt.admin [1]] を検索中]、[adminmodule.jsp] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.extender.war に正規化されています。internal.WebAppWebContainerContext - リソースが見つかりません [5884890@qtp-16567002-0 - /adminmodule/] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - 見つかったリソース: null [5884890@qtp-16567002-0 - /adminmodule /] DEBUG org.mortbay.jetty - サーブレットを呼び出します [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - 検索バンドル [com.cisco.zaloni.リソース [/] の gwt.admin [1]]、[/] に正規化 [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - リソースが見つかりましたURLとして [bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - RESPONSE /adminmodule/ 403HttpServiceContext - リソースが見つかりました: null [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - サーブレットを呼び出します [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web. extender.war.internal.WebAppWebContainerContext - リソース [/] のバンドル [com.cisco.zaloni.gwt.admin [1]] を検索、[/] に正規化 [5884890@qtp-16567002-0 - /adminmodule/] DEBUG 組織.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - リソースが URL として見つかりました [bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - 応答/管理モジュール/ 403HttpServiceContext - リソースが見つかりました: null [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - サーブレットを呼び出します [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.ops4j.pax.web. extender.war.internal.WebAppWebContainerContext - リソース [/] のバンドル [com.cisco.zaloni.gwt.admin [1]] を検索、[/] に正規化 [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org .ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - リソースが URL として見つかりました [bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - 応答/管理モジュール/ 403リソース [/] の管理者 [1]]、[/] [5884890@qtp-16567002-0 - /adminmodule/] に正規化[bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - RESPONSE /adminmodule/ 403リソース [/] の管理者 [1]]、[/] [5884890@qtp-16567002-0 - /adminmodule/] に正規化[bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] DEBUG org.mortbay.jetty - RESPONSE /adminmodule/ 403
本当にイライラします。
助けてください。私はOSGIが初めてなので。
ラウル
maven-2 - Maven:依存関係の詳細を取得する(Equinox)
MavenとEquinoxは初めてです。OSGiのチュートリアルを行っているときに、次のコマンドを発行しました。
pax-プロビジョニング
次のエラーが発生しました。
Equinoxビルドがリポジトリで利用できないようです。したがって、
1。正しいバージョンのリポジトリを探す場所。コマンドや検索ツールはありますか?
2.読んだら、以下のコマンドでローカルにインストールできるかもしれません
これらすべてのパラメーター(グループID、artifactIdなど)を取得するにはどうすればよいですか?
java - プログラムで OSGi (Equinox) を開始しますか?
OSGi フレームワーク (できれば Equinox) を簡単に起動し、pom にリストされているバンドルを Java メインからロードできるようにしたいと考えています。
これは可能ですか?もしそうなら、どのように?
pax ツールがこれを行うようですが、そのようなことを示すドキュメントが見つからないようです。次のように Equinox を起動できることはわかっています。
しかし、私はもっとやりたいと思っています-私が言ったように:より多くのバンドルをロードし、おそらくいくつかのサービスを開始するなど.
osgi - Felix config.properties の自動開始バンドルで PAX-URL のアセンブリ プロトコルを使用できない
パックされていないバンドルをその場で組み立てられるように、PAX-URL を使用しようとしています。
自動起動バンドルに pax-url-assembly-1.2.1.jar を入れてから、次のように入力します。
インストール アセンブリ:path/to/my/folder
すべてが機能します。問題は、設定ファイルで > felix.auto.start.1=assembly:path/to/my/folder を使用してこれらのフォルダーをフェリックスに与えたいことです。
そうすると、「不明なプロトコル: アセンブリ」という例外が発生します。
レベル 1 で PAX-URL を読み込んでみましたが、他のすべてのバンドルのデフォルトの開始レベルを 10 に設定しました。役に立ちません。バンドルがロードされる前に構成を読み取るのは「システムバンドル」自体だと思うため、「アセンブリ」は理解されません。
私の推測では、Felix 自体が起動したときに Felix に PAX-URL をロードするように指示する必要があります。
何か案は?私はそれをすべて間違っていましたか?:)
ありがとう!
java - PAX-URL:Felixの起動時に「プロトコルはサポートされていません」
私はPAX-URLを使用して、EclipseからFelixベースのプロジェクトを起動しています。バンドルを事前に梱包する必要がないように、アセンブリプロトコルを使用しています。
プロジェクトでは、felix.jarと、felix.auto.start.1 = assembly:foo / bar / classesを含むconfig.propertiesを使用してfelixを起動し、解凍したバンドルの1つを起動します。
問題は、felixがその設定ファイルの読み取りを完了するまでpax-urlプロトコルを認識しないため、「不明なプロトコル:アセンブリ」エラーが発生することです。
私は何が間違っているのですか?起動時にすでにpax-urlをロードするようにFelixに指示することは可能ですか?
ありがとう!
同じ問題は この質問によって解決されます。質問の方法によって、解決策を探す別の方法が提供されるため、この質問を重複としてマークすることはしません。先端をありがとうビョルン!
bash - 変換されたファイルの構造にミラーリング
ファイル構造を別のファイル構造に同期したいのですが、変換されたものです。
でこれを行うことは可能rsync
ですか? rsync がファイルのリストを入力 ( ) として受け入れるのを見ました--files-from
が、それぞれに変換 T を適用する方法が本当にわかりません...
つまり、rsync を使用してその場でファイルの名前を変更することは可能ですか?
ありがとうございました。
—</p>
たとえば、 from src/
toの場合、宛先パス内のすべての出現をdst/
抑制します。bar/
java - Karaf 2.2.0 OSGi コンテナのルート コンテキストから WAR を実行できない
Karaf 2.2.0 のルート アプリケーション コンテキストで Web アプリケーションを実行するのに苦労しています (Karaf 2.1.4 では問題なく動作します)。Tomcat のサンプル WAR を使用して簡単に複製できる問題を切り分けることができました。
Karaf から次のコマンドを実行します。
osgi:install -s webbundle:http://tomcat.apache.org/tomcat-5.5-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&Webapp-Context=/anything
Web ブラウザー (http://localhost:8181/anything/index.html) からアプリにアクセスします。
- サンプル バンドルをアンインストールする
次のコマンドでルート コンテキスト パスを使用してバンドルを再インストールします。
osgi:install -s webbundle:http://tomcat.apache.org/tomcat-5.5-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&Webapp-Context=/
Web ブラウザー (http://localhost:8181/index.html) からアプリへのアクセスを試みます。
- 404 エラーに注意してください。
ログを見ると、Web アプリがルート アプリケーション コンテキストにある場合、要求の前に "/default/" が付加されているようです。たとえば、/index.html にアクセスしようとすると、/default/index.html が検索され、ページが見つからず、見つからないというエラーが返されます (詳細については、以下のログ出力を参照してください)。
この問題を解決する方法を知っている人はいますか?
ログ出力
c - PaX とバッファ オーバーフロー
カーネルに PaX がある Linux でバッファがオーバーフローする可能性はありますか。適切な入力を使用してリターン アドレスを変更することで、実行可能ファイルを悪用したいと考えています。Ubuntu 10.04 を使用しており、これを paxtest でテストしていますが、結果の意味がわかりません。これは、私のシステムでの paxtest の結果です。
java - PAX(OSGIテスト)フレームワークを高速化するためのヒント
PAXは多くのことを行っており、コンテナーを作成してそれらすべてのjarをコピーするのは安くはありませんが、パフォーマンスを向上させるための一般的なヒントはありますか。コンテナの外部で実行するテストがありますが、内部でははるかに時間がかかります。私は主に、マニフェストが正確であり、依存関係が失われることなくバンドルがデプロイ可能であることを確認するためにPAXを使用しています。私はKnopflerfish、Equinox、Felixを試しましたが、一般的に、ベアボーンコンテナレス実行に対して比較的遅いという違いはほとんどありません。