問題タブ [urlclassloader]
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 - 動的外部jarからのJava読み取りファイル
私がやろうとしていて、何日もその方法を研究してきたのは、これが機能するために、フォルダーを調べてそこにあるすべてのjarを動的にロードするマザーjarを用意することです(実際にはそれらについて知る必要はありません)。というプラグイン内のファイルが必要ですplugin
。現在、プラグインを起動できるワーキング クラス ローダーがありますが、ファイルを読み取ることができませんplugin
。
ここに私の現在のコードがあります:
Load.class
エラーは(44行目:in = new Buffered ....)
多くの助けに感謝
完成した作業コードは次のとおりです。
java - Linux Java でクラスを動的にロードする
私は学校のプロジェクトとして、マルチプラットフォームの分散データベース システムを行っています。
Java でデータベースからデータを抽出する必要があるため、jdbc コネクタを動的にロードします
Windowsで完璧に動作
しかし、Linuxでは次のエラーが発生しました:
「jdbc:mysql://... に適したドライバーが見つかりませんでした」
これはコードです:
どうすればいいのかわからない。
これは、各サイトでのコネクタのインストールを回避するために作成されたものです。
postgresql load postgres jdbc conector の場合、mysql などの場合、各 DB の構成を含むファイルを渡します...
提案?
java - Java URLクラスローダーのぶら下げ
ディレクトリ内のさまざまなパッケージからコンパイルされた複数のJavaクラスファイルがあります。
C:/classes/package/A.class
C:/classes/package/B.class
C:/クラス/パッケージ/サブパッケージ/C.class
C:/クラス/パッケージ/サブパッケージ/D.class
そのように URLClassloader を使用してそれらをロードしようとしています。
「package.subpackage.D」をロードしようとするまで、このコードは正常に実行されます。プログラムが永続的にハングします。
クラスがロードされる順序を変更しても効果はありませんでしたが、多くの実験の結果、ネイティブ クラスを拡張するクラスはすべて、ランタイム内に既に存在するすべてのクラスを参照する「ネイティブ」というハングを引き起こすことがわかりました。
だからここに私の質問があります:
これは実行時にクラスをロードする正しい方法ですか?
問題の修正はありますか?
お時間をいただきありがとうございます。
java - ClassNotFoundException 実行時コンパイル済みサブクラスの読み込み中
JavaCompiler を使用して、実行時に Web アプリケーション内から CustomProcessor.java をコンパイルしています
コンパイルはうまくいき、最終的にはクラスファイルを使用してロードしようとしていますURLClassLoader
問題は、アプリケーションの他の場所で使用している をヒットしClassNotFoundException
てProcessor
いることです (そこにあることがわかっているように)。実行時に表示さ
れるようにするには、何をする必要がありcom.mycompany.Processor
ますか?
ありがとう。
java - URLClassLoaderのユーザーエージェントの設定
わかりました。アプレットが jar にロードされた自分の Web サイトがあります。Java プログラムを使用して、URLClassLoader を介して jar をロードし、その方法でアプレットを開始したいと考えています。
私はこのコードを使用しています:
403 エラーが生成されますが、自分の Web サイトでエラー ログを確認すると、403 になった人はいません。
Web サイトのログが出力されないのに、Java が 403 エラーを出力するのはなぜですか?
urlconnection を開いてユーザー エージェントを設定すると動作しますが、そうしないと 403 になります。
それで、URLClassLoader がエラーにならないようにユーザー エージェントを設定するにはどうすればよいか考えていました。または、ユーザーの PC にダウンロードせずにアプレット jar をロードする別の方法はありますか?
java - ClassLoader の使用後にクラスを使用できない
URLClassLoader を使用して実行時にファイルからクラスをロードする場合:
これはうまくいくようです - 出力 at 1
is loaded com.robert.test.NumberUtil
.
次に、を使用してそのクラスのインスタンスを作成しようとすると
を取得しClassNotFoundException: com.robert.test.NumberTest
ます。私がやろうとしていることは可能ですか?または、クラス at を使用する必要がありますか1
(つまり、返されたオブジェクトを使用classLoader.loadClass()
し、スコープ外になったら再ロードしますか?)。
java - Java JAR/コード改ざんの検出
JAR ファイルとして配布されるソフトウェアを作成しています。現在、この JAR ファイルを改ざんして、サーバーが 経由URLClassLoader
で送信する別のファイルを取得して保存し、逆コンパイルし、それを使用するクライアントのセキュリティのために非公開のままにしておく必要があるコード内のさまざまなものを見つけることができます。基本的には、元の JAR が改ざんされていないかどうかを確認する方法を実装したいと考えています。私はこれが逆説的に不可能であることを知っていますSignedObject
Javaの性質上逆コンパイルできるため、元のクラスではコードが改ざんされているかどうかを判断できる他の方法はありますか? このチェックは、有効性をチェックするためにダウンロードされる中間クラス、または動作が保証されるその他の手段を介して行うことができます。私は一日中ここに座って、この問題の解決策を見つけようとしています。どんな助けでも大歓迎です。
java - NoClassDefFoundError (クラス名の変更)
loadClass(String, Boolean) メソッドをオーバーライドしてクラス名を変更しようとしました。
BukkitPlugin を作成しています。Bukkitsource はここにあります
クラスローダー自体は正常に動作しています。テストしたところ、すべてのクラスが正常に動作し、クラス名の変更を開始した後にエラーが発生し始めました。
メソッドは次のとおりです。
クラスローダーを使用すると、置き換えられたクラスのいずれかを使用するたびに NoClassDefFoundError が発生します。私の最善の推測は、別のメソッドをオーバーライドする必要があるということですが、それが何であるかはわかりません。
エラーログ:
IEPlugin.java:25 は次のとおりです。
jvm は間違った classDefinition を検索しています。パッケージ 'v1_5_R3' を検索しますが、loadClass() のクラスの名前を 'v1_6_R2' に置き換えました。
クラス名「org.bukkit.craftbukkit.v1_5_R3.CraftServer」を「org.bukkit.craftbukkit.v1_6_R2.CraftServer」に置き換えています
v1_5_R3 のパッケージ内のクラスが存在しないため、loadClass(String, Boolean) メソッドで v1_6_R2 に変更します
読んでくれてありがとう、そしてうまくいけば今後の解決策をありがとう。