問題タブ [wab]
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.
osgi - WAB(OSGI)でjarをバンドルに変換する用途は何ですか?
OSGi フレームワークを調べた後、サンプル Web アプリケーションを開発しました。Web アプリケーション バンドル (.war または .jar) は、eba 内にパッケージ化されています。war ファイルには、そのディレクトリに多数の埋め込み jar ファイルが含まれています。これらの jar は、jar 間の関係に従って、必要なエクスポートおよびインポート パッケージとともにWEB-INF/lib
OSGi バンドルに変換されています。ここで、bundle-classpath で(using maven-bundle-plugin
これらすべての jar について言及する必要さえあります。(WEB-INF/lib)
上記が機能するのは、バンドル (wab もバンドル) に 1 つ以上の jar ファイルを含めることができ、Bundle-Classpath manifest.mf エントリを使用してそれらを指すことができるためです。
bundle-classpath に jar を含めない場合は、ClassNotFoundException
.
問題は、jar を osgi バンドルに変換しても意味がないということです。明らかに、すべての jarWEB-INF/lib
は同じクラス ローダー (つまり、wab のクラス ローダー) によってロードされます。バンドルクラスローダーの概念ごと?
drop-down-menu - Scout Eclipse RAP スマート フィールド
scout eclipse の RAP アプリケーションのスマート フィールドに問題があります。
ユーザーが検索テキストを変更しても、RAP (および RAP のみ) では選択肢が更新されないことがあるため、私の問題は Lookup 呼び出しにあります。ユーザーが検索ウィンドウをクリックするか、上下キーを押したときに更新しますが、面倒です。
デバッグすると、コードが実行され、新しい値が「返される」(LookupServiceで)ことがわかりますが、ブラウザにパッケージが表示されません。
java - web.xml を使用せずに BundleActivator にサーブレットを登録する場合の「transport-guarantee」に相当するものは何ですか?
私は OSGI 環境でサーブレットを実行しています。具体的には、Pax Web / Jetty で Karaf を使用しています。
私は喜んで BundleActivator を使用してサーブレットをインスタンス化し、それらを HttpService に登録しました。私が気に入っているのは、ServiceTracker を接続することで、依存関係の挿入を非常に簡単に処理できることです。
ただし、いくつかのことについては、従来の web.xml 構成を介してそれらをセットアップする方法に関するドキュメントしか見つけることができません。具体的には、命令に相当するものtransport-guarantee
、つまり、特定の URL で HTTPS を主張し、必要に応じてクライアントをリダイレクトする必要があることを HttpService に伝える方法がありません。
別の方法として、web.xml
記述子ファイルを通常どおり使用できるが、サーブレットを OSGi サービスに接続するための便利で簡単な方法があれば、それで問題ありません。
html - Node.js set 属性が Web ページで選択されていることを確認
私は今node.jsを学んでいます。index.html ページからデータを取得し、2 ページ目にいくつかの値を送信したいという問題に直面しています。たとえば、.... 1 つのオプションが選択されています。状況でこれを行うにはどうすればよいですか: 2 ページ目で何も変更しないでください。
ありがとうございました
java - Eclipse 製品 / 起動構成から WAB をエクスポートする
私のチームでは、Web アプリケーションの Java バックエンドを開発しています。OSGiを使用しています。
これまでのところ、開発の初期段階で物事を簡素化するために、Jetty をサーブレット コンテナーとして使用していました。テスト サーバーへの展開のために、Eclipse 製品 (すべてがバンドルされています) をエクスポートし、対応する .exe ファイルを実行しました。
モジュール化とデカップリングのために OSGi を使用しています。この特定のシナリオでは、バンドルを動的にインストール/アンインストールすることに関心がないため、すべてをまとめて 1 回でデプロイできる Eclipse 製品は非常に便利でした。
ここで、Jetty から GlassFish に移行したいと考えています。これは、バンドルを別の方法でパッケージ化する必要があることを意味します。私が集めたものからすると、WAB は私たちにとって正しいものになるでしょう。たとえば、これを参照してください。
基本的に、[WAB は] OSGi バンドル マニフェストを持つ Web アプリケーションです。したがって、Web アプリケーション全体を単一の OSGi バンドルとして、WAB をサポートする任意のフレームワークにデプロイできます。技術的には、バンドルは Web アプリケーションとしてサーブレット コンテナにデプロイできます。ただし、BundleContext にアクセスできます。これにより、Web アプリケーションは、同じフレームワークで実行されている他のバンドルまたは Web アプリケーションと相互運用できます。
https://stackoverflow.com/a/11345694/285091
理想的には、.product ファイル (または起動構成) に移動し、そこから WAB をエクスポートします。これは、必要なすべてのバンドルと適切なセットアップ (自動開始設定と開始レベル) が既にあるためです。しかし、これは不可能のようです。
「ルート」バンドルを取得して、それとその依存関係をパッケージ化するだけでは、その手順に従ってパッケージ化されない追加のバンドルがあるため、うまくいかないことに注意してください。たとえば、私のワークスペースには次のものがあります。
どこ:
com.example.something
2 つの実装を持つ API バンドルです。com.example.something.impl.a
com.example.something.impl.b
com.example.root
依存しますcom.example.something
が、その実装には依存しません- 私たちは実際に実行しますが
com.example.something.impl.b
、決して実行しませんcom.example.something.impl.a
パッケージとその依存関係だけをパッケージ化しようとするroot
と、見逃してしまいますimpl.b
つまり、基本的に、サーバー側アプリケーションに必要な正確なバンドル設定を含む起動構成/Eclipse 製品が既にある場合、対応する WAB を生成する方法はありますか? 直接的な方法がなく、maven を使用していない ( maven-bundle-plugin を除外している) 場合、次は何が最善でしょうか?
java - OSGi WAB を含む OSGi バンドル
OSGi バンドルと OSGi WAB を開発するのは初めてです。OSGi バンドルと WAB の両方を一緒に使用する必要がある Jboss AS 7.1 サーバーを使用しています。WAB の私の依存関係のいくつかは OSGi バンドルです。バンドルと WAB の両方がサーバーの「展開」フォルダー内にあります。WAB をデプロイすると、「WEB-INF/lib」内の依存関係が検索されます。「WEB-INF/lib」にバンドルを追加せずに、WAB ファイルの外部にある依存関係のバンドルを含める方法は?
前もって感謝します。
編集:
このリンクで提供されている手順に従いました:
http://www.rpgnextgen.com/wiki/doku.php?id=vaadin_7.4_osgi_web_application
WAB ファイルの作成に成功しました。必要な Vaadin 依存関係はすべて、サーバーの「デプロイメント」フォルダーの下に OSGi バンドルとしてデプロイされています。WAB ファイルをデプロイすると、'deployments' フォルダーの下の Vaadin 依存関係は含まれませんが、WAB ファイルは 'WEB-INF/lib' パス内の Vaadin 依存関係を探しています。以下は、私が使用している pom.xml です。
基本的に私がやろうとしているのは、.war ファイル内で「WEB-INF/lib」を使用する代わりに、依存関係に他のバンドルを使用する WAB プロジェクトを作成することです。
war ファイルをサーバーにデプロイすると、次の例外が発生します。
jsf - OSGi バンドルとしての JSF Web アプリ - エラー FacesContextFactory が正しく構成されていませんでした
JSF アプリを OSGi バンドル (WAB) に変換しようとしていますが、war ファイルを glassfish/autodeploy/bundles にデプロイすると、以下のエラーが発生し続けました。これが何を意味するのかよくわかりません。
私のファイルの構造はwar
次のとおりです。
私web.xml
はこのように見えます:
そして、私は次のようにglassfish-web.xml
見えます:
私MANIFEST.MF
はこのようなものです: