問題タブ [jpf]

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 投票する
1 に答える
1188 参照

weblogic - WeblogicPortal10.2を使用してJPFアクションからバイナリコンテンツを返す

私のJPFコントローラーのアクションの1つがPDFファイルを作成し、ユーザーがダウンロードできるように、このファイルをユーザーに返したいと思います。

それを行うことは可能ですか、それともファイルをどこかに書き込むことを余儀なくされ、アクションでこのファイルへのリンクを転送する必要がありますか?セキュリティ上の理由と、ユーザーがファイルをダウンロードしたことを知る方法がないため、ファイルを削除できるようにするため、これはできるだけ避けたいことに注意してください。

HttpServletResponseにアクセスしようとしましたが、何も起こりません。

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

java - 異なるJavaクラスローダでロードされた実装を使用するには?

私は、人々がプラグイン フレームワークを使用して特定のインターフェイスの実装を提供できるようにするライブラリを作成しています (よく知られている場合は JPF です)。プラグインはクラスパスに保存されません。フレームワークはプラグインごとに ClassLoader を提供するので、インターフェース「MyInterface」の「MyImpl」という名前の実装が要求されると、正しいプラグインを見つけて、そのプラグインの ClassLoader を使用してクラスをロードし、そこからインスタンスを作成できます。コンストラクターについて何か知っていれば。ここまでは順調ですね。

ただし、特定の実装でのみ使用できるメソッドを呼び出す必要がある場合があります。したがって、これを行うには2つの方法があります。

方法 1:

方法 2:

方法 1 は、クラスが「通常」であり、プラグイン経由でアクセスできない場合にコードを記述する方法に最も似ているため、2 つのうちのよりクリーンな方法です。ただし、どちらもコンパイルされません。

これまでに思いついたオプション:
A. 方法 2 を使用しますが、リフレクションを使用して methodOnlyInMyImpl メソッド呼び出しを行います (どうか、いいえ!)
B. ビルド パスにプラグイン クラスを配置してから、コンパイルされる方法 1 を使用します。 . (私の現在のお気に入り)
C. B + プラグインがインストールされたら、クラスファイルをクラスパスにある別のディレクトリにコピーして、システムのクラスローダーがそれらをロードできるようにします (他の問題を引き起こします)

だから、私の質問は次のとおりです。

  1. より良い別のアイデアがありませんか?
  2. B を実行すると、実行時に問題が発生しますか? 結局、MyImpl を使用するクラスは、おそらくシステム クラスローダーを使用してロードされます。では、 が表示されるとすぐにMyImpl foo、システム クラスローダを使用して MyImpl をロードしようとしませんか? これは失敗します (Plugins.newInstance 呼び出しが MyImpl のインスタンスを提供する場合でも)。
0 投票する
2 に答える
783 参照

java - その場でエンティティを宣言する方法は?

Javaプラグインフレームワークを使用してJavaプラグインアプリケーションを開発しようとしています。すべてのプラグインは、JPA(Eclipselinkを使用)を使用してuniqデータベースにアクセスできます。

ただし、各プラグインには独自のエンティティがあります。

そのため、コアプラグインの1つの一意のファイルpersitence.xmlですべてのエンティティを宣言できませんでした。

問題は、EntityManagerFactoryを宣言するときに、その場でEntityクラスを宣言することは可能ですか?私はすでにマップを使用して、ユーザー構成ファイルから接続文字列とユーザー/パスワードを取得しています。

エンティティで同じことを行う方法はありますか?

ご協力いただきありがとうございます。

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

android - Android アプリケーションのプラグイン管理

拡張可能な Android アプリケーションを開発したいと考えており、プラグインを処理する方法を探しています。

最善のアプローチは何だと思いますか:

  • Android の PackageManager を使用します。ここでの問題は、PM がプラグインを考慮して設計されていないため、依存関係チェックなどの機能を自分で実装する必要があることです。

  • JPF (Java Plugin Framework) や OSGi などの既存の Java フレームワークを使用する。OSGi は大きすぎるように見えますが、Android 上の JPF に関する情報はあまりありません。

  • 他のアイデア?

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

java - Javaプラグインフレームワーク(JPF)とSystemClassLoader

こんにちはstackoverflowの世界、

Javaプラグインフレームワークの小さな問題で立ち往生していて、ドキュメントでその答えを見つけることができません。

質問は驚くほど単純です。プラグインによってもたらされるクラスをシステムクラスローダーから利用できるようにする方法は?

言い換えると、私はPluginAクラスをもたらすプラグインを持っており、(プラグインからではなく)メインアプリケーションからPluginAをインスタンス化できるようにしたいと考えています。各プラグインには独自のクラスローダーがあるため、これはデフォルトでは許可されていません...

私にとって最善の方法は、プラグインアーカイブにjarを含め、このjarをシステムクラスローダーにロードすることですが、その方法は?

誰かがアイデアを持っているなら、ありがとう!

ニコラス

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

java - 別の Java プロジェクトから Java Path Finder を使用する

別の Java プロジェクトから JPF (Java Path Finder) を使用したい。

私が行った手順:

  1. 新しい Java プロジェクトを作成しました

  2. ビルド パスで jpf-core を参照しました。

  3. (私の新しいプロジェクトで)Hello worldを印刷するJavaクラス(Test.java)を作成しました。

  4. 私が言及した.jpfファイル(Test.jpf)を作成しました.target = Test.

  5. 私が言及したEclipse起動構成で

私の問題は、jpf-core プロジェクトの jpf-core/examples パッケージに同じ .java ファイルと .jpf ファイルを配置すると、jpf ファイルを実行して結果を取得できることです。しかし、別の Java プロジェクトから .jpf を実行しようとすると、実行できません。次のエラーが表示されます

これを解決するのを手伝ってください。

アップデート:

テスト クラス ファイルのクラスパスを記述したプロパティ ファイルを作成する必要がありますか? 私がそう書いた場合、どうすればjpf.propertiesとリンクできますか?

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

java - Java パス ファインダーを実行する

Eclipse で Java パス ファインダーを実行すると、次のエラーが表示されました。

スレッド「メイン」での例外 java.lang.SecurityException: 禁止されたパッケージ名: java.lang

私は何をすべきか?

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

java - スレッドスケジューリング-共有配列

1つをintの共有配列に書き込むには、2つのスレッドが必要です。両方のスレッドは、その配列のすべての要素に書き込む必要があります。各スレッドは1または7のいずれかを書き込み、結果は171717171(または71717171)のようになります。これを行うには、最初のThread1を位置0に書き込んでから、待機します。Thread2は位置0と1に書き込み、Thread1に通知して待機します。Thread1は位置1と2に書き込み、Thread2に通知して待機します。次のコードを使用すると、正しい出力が得られますが、JPFで実行するとデッドロックが検出されます。何が悪いのかわからないので、本当にイライラします。何かアドバイスをいただければ幸いです。

ps:実行の例:

JPFからのエラースナップショットは次のとおりです。

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

jpf - Verify API の使用時に jpf ヒューリスティック ライブ カウントを取得する方法

私は次のようなものを使用しています

int y = Verify.getIntFromList(intArray); boolean z = Verify.getBoolean();

// y と z で何かを行う、つまり y と z のすべての可能な順列など.

各順列を通過するときにjpfのライブカウントを取得することに興味があります。たとえば、intArray に 10 個の int があり、boolean の false と true がわかっている場合、合計 20 個の順列があります。しかし、20個すべてを1つずつ通過しているので、ライブカウントが必要です。このライブ カウントをプログラムで使用したい。

私がやりたいことを明確に説明したことを願っていますか?

ありがとう