問題タブ [rcp]

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.

0 投票する
5 に答える
10421 参照

java - Eclipse RCP: 構成ディレクトリーの使用

私の Eclipse RCP アプリケーションには、リモート データベースに接続するための情報を含む構成ファイルが必要です。この構成ファイルを保存するのに最適な場所はどこですか?

この目的で、デフォルトの構成ディレクトリ (「config.ini」が通常保存される場所) を使用できますか? もしそうなら、プログラムで File インスタンスをこの場所に取得するにはどうすればよいですか? また、このディレクトリは私の Eclipse IDE には存在しないことに注意してください。

ありがとう。

0 投票する
11 に答える
20613 参照

java - 使用するリッチ クライアント プラットフォーム

最近 Java デスクトップ アプリの開発を開始しましたが、経営陣から Rich Client Platform を利用するように依頼されました。私はJavaの4つ、つまり次のことを知っています。

  1. Eclipse RCP - Eclipse RCPへの www リンク
  2. Netbean RCP - Netbeans RCP Web サイト,
  3. Spring RCP -春のリッチクライアント
  4. Valkyrie RCP - Valkyrie リッチクライアント

誰かがこれらのいずれかで何らかの経験をしたことがありますか?もしそうなら、それぞれの長所と短所は何ですか?

ありがとう

0 投票する
2 に答える
11101 参照

java - Eclipse プラグインからパッケージ エクスプローラーで選択したノードを取得する方法

Eclipse コマンド プラグインを作成しており、パッケージ エクスプローラー ビューで現在選択されているノードを取得したいと考えています。返された結果から、選択したノードがファイルシステム (つまり、c:\eclipse\test.html) に存在する絶対ファイルパスを取得できるようにしたいと考えています。

これを行うにはどうすればよいですか?

0 投票する
1 に答える
479 参照

java - EclipseRCPのケーススタディ

Eclipse RCPについて知りたいのですが、基本的な知識はありますが、EclipseRCPの機能についてもっと知りたいと思いました。そこで、一連の要件を作成して分析し、基本フレームワークとしてEclipse RCPを使用してそれらをどのように満たすことができるかについて設計上の決定を下し、最終的にEclipseRCPでそれらを実装することを自分自身に勧めました。さて、要件が厳しすぎるか、Eclipse RCPについてまだよく理解していないので、要件を満たすための適切なソリューションを考え出すのに苦労しています。

以下は要件の要約です(詳細が不足している可能性があります。これは実際には自分自身を励ますための単なる例です)。

一部のサーバーを監視するためのEclipseRCPアプリケーションが必要でした。これらのサーバーは、最初はアプリケーションが認識しているプログラムになります(つまり、サーバーのインとアウトを正確に認識しています)。ただし、将来的には、アプリケーションは、ユーザーが監視するアプリケーションの特性が異なる任意のプログラムを指定できるようにする必要があります(つまり、既知のサーバーだけでなく、以前は知らなかった他のサーバーも)。アプリケーションには、監視する必要のあるサーバーのすべての詳細(ホスト、ポート、ユーザー名、パスワードなど)を含むXML構成ファイルも必要です。このXML構成ファイルは、JAXBを使用してエンコードおよびデコードされます。

したがって、上記の要件に基づいて、次の詳細を考え出しました。

XMLは次のようになります。

アプリケーションが認識しているサーバーはどこにありますか。

ソースコードには、次のクラスの階層があります。

コンポーネント<---サーバー<---ServerA、ServerB

ServerAとServerBは、Serverの子孫であり、それぞれと要素にマップされます。

構成のポイントエントリは、ServerAのリストとServerBのリストを含むConfigurationというクラスにあります。これで、アプリケーションは認識していない他のプログラムを監視できるはずなので、XML構成ファイルも拡張可能である必要があります。したがって、Configurationクラスには、ユーザーが指定した他のコンポーネントにマップするObjectのリストも含まれます。構成ファイル。

Configuration.java

さて、これはあなたたちが問題に取り組むためにも行うことですか?私は、ユーザーが指定した他のプログラムをアプリケーションが監視できるようにするための要件について混乱しているだけだと思います。そもそも設定したことは知っていますが、「これはEclipse RCPの拡張ポイントを利用できるもののようです」ということを念頭に置いて設定しましたが、設定ファイルに飛び込んだので、どうすればいいのかわかりません。構成ファイルはplugin.xmlに関連していますか?

頭の中で、アプリケーションが監視する必要のあるプログラムの詳細(ホスト、ポート、ユーザー名、およびパスワード)を構成ファイルで指定する必要がありました。plugin.xmlは、アプリケーションが監視する必要のあるユーザー定義プログラムの拡張ポイントと拡張機能を指定するために使用されます。つまり、最終的に、ユーザー定義プログラムの場合、ユーザーはそれらをplugin.xmlで拡張機能として構成し、構成ファイルで他の詳細を指定する必要があるということですか?

0 投票する
3 に答える
3276 参照

obfuscation - ProGuard で OSGi バンドルを難読化する方法は?

現在、ProGuard を使用して Eclipse RCP アプリケーションを難読化しようとしています。問題は、パッケージ名を難読化する (クラス My.Package.Class が abc のようなものに変わる) ことですが、パッケージ名は MANIFEST.MF の Export-Package セクションに保持されます。

これは、MANIFEST.MFs の Export-Package セクションで指定されたパッケージ名を解決できないため、アプリケーション (実際には OSGi バンドルのセット) を実行できないという事実につながります。

ProGuard による OSGi ベースの RCP アプリケーションの難読化に成功した人はいますか? 基本的に、パッケージ名の難読化を完全に無効にするか、MANIFEST.MF の Export-Package セクションを難読化するかの 2 つの選択肢がありますが、いずれも実装する方法が見つかりません。Proguard は、MANIFEST.MF の Bundle-Activator クラス名のみを難読化し、他のすべてのセクションをスキップしているようです。前もって感謝します!

0 投票する
3 に答える
977 参照

macos - OSX 上の Eclipse RCP - syslog へのロギングを停止するには?

RCP アプリケーションはかなりの量をログに記録しますが、INFO 以上のみがコンソールに出力されます。Windows/Linux ではこれで問題ありませんが、OSX ではすべてのログが syslogd に渡され、何をログに記録し、何をログに記録しないかが決定されます。これは、何千もの FINEST ログ メッセージを処理することを意味し、syslogd は 140% の CPU を使用してゴブリングしますメモリアップ。アプリを約 3 分間実行した後、syslogd は 2.5 GB のメモリを使用し、システム全体が使用できなくなります。syslogd を強制終了して再起動することが唯一の解決策です。コンソールからアプリを起動すると、コンソールに直接ログが記録され、問題はありません。

OSX で RCP ロギングを処理する syslogd を停止するにはどうすればよいですか?

0 投票する
5 に答える
13367 参照

java - eclipseRCPのplugin.propertiesメカニズム

私のプロジェクトには複数のプラグインが含まれており、すべてのプラグインには20近くの翻訳を含むplugin.propertiesファイルが含まれています。MANIFEST.MFファイルは、外部プラグイン文字列が保存されているプロパティファイルの名前を定義します。

私が定義するプラグインの名前

Eclipseは、実行時にplugin.propertiesファイルの「%plugin.name」を検索します。

どのクラスがMANIFEST.MFBundle-Localizationエントリを読み取り、どの時点で「plugin.properties」ファイルで「%」という接尾辞が付いた文字列が検索されますか?

この方法でこれらのクラスを見つけてパッチを適用したいので、最初に他のディレクトリ/ファイルで「%plugin.name」識別子を調べます。これらの新しいメカニズムを使用すると、元のプラグインを変更せずに、製品にフラグメントを追加し、「plugin.properties」ファイルの1行を上書きできます。これらのメカニズムを使用すると、さまざまなフラグメントを追加するだけで、複数の顧客向けのビルドプロセスを作成できます。顧客名と変更したい特別な文字列を含むフラグメント。

フラグメントメカニズムは元のプラグインにファイルを追加するだけなので、そのようにしたいです。「plugin.properties」ファイルがプラグインに存在する場合、フラグメント「plugin.properties」ファイルは無視されます。

更新1:

方法

指定されたロケール文字列のプロパティファイルのResourceBundleを返します。誰かがリソースパスを取得するために最初にフラグメントを調べる方法を知ったら、それを投稿してください。

更新2:

クラスManifestLocalizationのメソッド

プロパティファイルを検索してキャッシュします。翻訳は、キャッシュされたファイルから取得できます。問題は、単一の翻訳ではなく、ファイル全体がキャッシュされることです。

解決策は、バンドルファイルを読み取るのではなく、最初にフラグメントファイルを読み取ることです。両方のファイルが存在する場合は、それらを1つのファイルにマージし、新しいプロパティファイルをディスクに書き込みます。新しいプロパティファイルのURLが返されるため、新しいプロパティファイルをキャッシュできます。

0 投票する
1 に答える
5084 参照

eclipse - Eclipse RCP アプリケーション - 複数モニター用のマルチウィンドウ設計

Eclipse RCP とパースペクティブ/ビュー/エディターの設計全体に関する質問 - 複数のモニターに複数のウィンドウを表示するアプリケーションを作成する最良の方法は何ですか? 私が見たチュートリアルや本では、常に RCP/SWT 設計を 1 つのアプリケーション ウィンドウ内のパースペクティブ内のビューにパックしています。

1 つのウィンドウが他のすべてのウィンドウを支配する必要がありますか、それともすべてが等しい必要がありますか (最後のウィンドウを閉じるとアプリケーションが終了します)。パースペクティブとビューをどのように処理しますか? 他に知っておくべきことはありますか?

環境: Eclipse ガニメデ、Windows XP。