問題タブ [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.

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

java - このクラスローダーの問題を修正するにはどうすればよいですか?

私はJavaが得意ではないので、本当に簡単なことを見落としているかもしれません...

私はプラグイン システムに取り組んでおり、すべてが Eclipse で完全に正常に動作しますが、実際にその外部でアプレットを起動すると動作しません。

ディレクトリからファイルを読み込んで実行しようとしてい.classますが、うまくいかない理由はわかっていますが、どうすれば解決できるのかわかりません。

問題は、Eclipse がクラスパスでアプレット自体を参照しているが、Eclipse の外部のクラスパスで参照されておらず、-cpまたは-classpathにアクセスできないことです。固定クラスパスを持つ jar。

この問題をどのように解決できるかについてのアイデアはありますか?

ローダー コード:

プラグイン コード:

この問題は、私を 1 週間前から追い詰めており、どうすればよいかわかりません。:/

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

classloader - Glassfish 3.1 でカスタム ハンドラを使用して NoClassDefFoundError を取得する

問題

  1. 私たちの Web アプリは、コンストラクターjava.net.URLに a のカスタム実装を渡すことを作成しURLStreamHandlerます。
  2. その URL で、 を呼び出しますurl.openConnection()
  3. java.net.URLコードはハンドラーを呼び出しますopenConnection()
  4. この時点でNoClassDefFoundError、ハンドラーが使用するクラスの を取得します。

これは Glassfish 3.1 で発生しますが、Tomcat、WebLogic、および JBoss では発生しません。(また、Glassfish の古いバージョンでも動作していました。)

私が試したこと

glassfish-web.xmlGlassfish に最初に Web アプリからクラスをロードするように (予想どおり) を追加しようとしましたが、これで問題は解決しません。

この問題を解決するにはどうすればよいですか? また、なぜこの問題が発生するのですか?

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

java - 実行時に JAR ファイル クラスをロードするときのエラー

JAR ファイルをクラス パスに追加し、実行時に JAR ファイルからすべてのクラスをロードしようとしています。これが私がこのタスクのために書いたコードです (このクラスは URLClassLoader を拡張します)

しかし、getURLs を使用しても、クラス エンティティに対して ClassNotFoundException を取得し続けますが、jar ファイルがこのローダーに追加されたことを示しています。

この問題の原因は何ですか? ありがとう

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

java - UrlClassLoader を使用してクラスをロードできないようです

そこで、非常にシンプルなファイルを作成し、次のサーバーにアップロードしました。

そこには、testApp.jar と bin として機能するフォルダーがあります。これを修正するためにいくつかのことを試みましたが、取得し続けます: Exception in thread "main" java.lang.ClassNotFoundException: com.testApp.Main

これを見つけるための私のコードは

私の最終目標は、単にこのファイルのメイン メソッドを実行することであり、起動されるファイルには単純な「Hello World」スイング ウィンドウが表示されます。

ありがとう

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

java - Java プログラムが自分自身を自動更新できるようにする小さなクラス

目標は、単純な Java クラスで jar メインクラスを開始することです。メインクラスが終了したら、リロードするかどうかを問い合わせることができます。この方法により、自分自身をホット アップデートし、自分自身を再実行できます。

ランチャーは、URLClassloader を介して jar をロードし、変更された jar をアンロード/再ロードします。jar は、Launcher に変更を加えることによって、または新しい jar を古い jar の代わりに交換するために呼び出される提供された dos/unix スクリプトによって変更できます。

プログラム全体は以下。テスト済みで、問題なく動作しているようです。

Java Launcher -jar [path_to_jar] -run [yourbatchfile] [-runonce]? オプション]

1) ランチャーは、実行する実際のクラスを指定する必要がないように、jar ファイル内の「Main-Class」属性を探します。

2) 'public static void main(String[] args)' を呼び出し、コマンド ラインで指定した残りの引数を渡します。

3) プログラムが終了すると、ランチャーはプログラム メソッド 'public static boolean reload()' を呼び出し、結果が 'true' の場合はリロードをトリガーします。

4) -runonce を指定した場合、プログラムは再ロードされません。

5) -run [batchfile] を指定した場合、リロードする前にバッチファイルが実行されます。

これが一部の人々に役立つことを願っています。

ハッピーコーディング!

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

java - jarを動的にロードする

私のJavaアプリケーションでは、jarファイル(Mavenシェードプラグインにパッケージ化されている)をバイトストリームに読み込みます。jarには、で定義されたエントリポイントクラスがあります。POM.xml

そのようなクラスをJavaアプリに動的にロードするにはどうすればよいですか?

アップデート:

  • jarはバイトストリームとしてロードされ、ファイルシステムまたはURLに存在しません
0 投票する
1 に答える
2335 参照

java - クラスパスを動的に変更する

/home/nameuser/.myProject/conf実行時に構成ファイルをクラスパスに追加したいと考えています。

使用してみURLClassLoaderましたが、成功しませんでした。

また

0 投票する
4 に答える
380 参照

java - Java URLClassLoaderが文字列を認識しない

私は本当に奇妙な問題を抱えています。

URLClassLoader を使用して、ディレクトリからファイルを動的にインポートしています。リテラル文字列を使用するとコードは正常に動作し、変数をリテラル文字列に使用すると正常に動作しますが、これは必要なものではありません。

私が必要とするのは、これを行うことができることです:

しかし、「名前」は有効な文字列であり、「TestClass」と等しいにもかかわらず、機能しません。

編集: エラーが表示されます:

どうしたの?

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

java - Linux で URLClassLoader が依存関係をロードできない

クラスのロードに URLClassLoader を使用しています。

私が渡すファイルの名前は正常にロードされますが、それが参照するクラスの場合、 NoClassDefFoundError がスローされます。両方のクラスは、異なる jar ファイルの一部です。

さらに奇妙なことは、同じコードが Windows では正常に動作しているのに、Linux ではエラーがスローされていることです。

私が使用しているコードは次のとおりです。

ABMyClass1としてロードするクラスを渡すと、正常にロードされますが、別のjarファイルにあるABMyClass2のロードに失敗します。