問題タブ [noclassdeffounderror]
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 - JNA サンプル プログラム java.lang.NoClassDefFoundError
この JNA サンプル コードをコンパイルできます ( https://github.com/twall/jna/#getting_startedのステップ 2 から):
...javac -classpath .:jna.jar -g HelloWorld.java
エラーなしで使用しています。(とりあえず jna.jar をダウンロードして、HelloWorld.java と同じディレクトリに置いておきます。)
しかし、を使用して実行するとjava -classpath .:jna.jar HelloWorld
、次のようになります。
Mac OS X と Linux でまったく同じ例外が発生します。
これを実行するにはどうすればよいですか?
java - JNI呼び出しAPI-NoClassDefFoundError(C / Java)
単一のJavaライブラリ関数(Cと同等のライブラリはありません)にアクセスする必要があるCのアプリケーションがあるため、JNIに足を踏み入れようとしています。CからJavaVMをロードし、静的関数を呼び出して戻り値を取得する非常に単純なテストプログラムを作成しました。
残念ながら、クラスを正しくロードすることができません。要約すると、おそらく私のClassPathは正しいと思います。java
同じディレクトリで同じClassPathを使用してコマンドを使用すると、クラスが読み込まれ、完全に実行されます。
環境:
Ubuntu8.04サーバー
JavaJRE&SDK 1.6
gcc
私の現在の作業ディレクトリは常に/home/me/project
です。
java
コマンド(java -Djava.class.path=/home/me/project/ -verbose my.ClassABC
)を実行すると、次のようになります。
Cプログラムを実行すると次のようになります(./myClassABC
):
これが私のgccコマンドラインです:
gcc -o myClassABC myClassABC.c -I/usr/lib/jvm/java-6-sun-1.6.0.16/include/ -I/usr/lib/jvm/java-6-sun-1.6.0.16/include/linux -L/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/server/ -ljvm
私のCコード(myClassABC.c
):
そして、私のJavaコードは、#$%@ sと笑い声(にコンパイルされます/home/me/project/my/ClassABC.class
)のためだけのものです:
ありがとう、
ブライアン
java - NoClassDefFoundError: Mac コンピューターの javax/swing/GroupLayout$Group
Mac コンピューターで Java プログラムをテストするときにのみ、ランタイム エラーが発生します。さまざまな Windows オペレーティング システムで完全に正常にテストされます。これは、Mac コンピューターで表示されるエラー メッセージです...
スレッド「AWT-EventQueue-0」での例外 java.lang.NoClassDefFoundError: project.MainPanel.calculateButtonActionPerformed(MainPanel.java:198) での javax/swing/GroupLayout$Group (project.MainPanel.access$200(MainPanel.java:32)) project.MainPanel$3.actionPerformed(MainPanel.java:97) で javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882) で javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202) で javax.swing .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) で javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) で javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) で java.awt. javax.swing.JComponent.processMouseEvent(JComponent.java:3135) で java.awt.Component.processEvent(Component.java:5367) で java.awt.Container.processEvent(Container.java:2010) で java.awt.Component.dispatchEventImpl(Component.java:4068) で Java. awt.Container.dispatchEventImpl(Container.java:2068) で java.awt.Component.dispatchEvent(Component.java:3903) で java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256) で java.awt.LightweightDispatcher.processMouseEvent で(Container.java:3936) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866) で java.awt.Container.dispatchEventImpl(Container.java:2054) で java.awt.Window.dispatchEventImpl(Window.java: 1801) で java.awt.Component.dispatchEvent(Component.java:3903) で java.awt.EventQueue.dispatchEvent(EventQueue.java:463) で java.awt.EventDispatchThread で。java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) の pumpOneEventForHierarchy(EventDispatch! Thread.j ava:269) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184) の java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:176) で java.awt.EventDispatchThread.run(EventDispatchThread.java:110)\
なぜこれが起こっているのかわかりません。プログラムを Windows コンピュータでコンパイルしたことが問題なのでしょうか? それが私が考えることができた唯一のことです。
java - jarに明らかに含まれている場合のJavaNoClassDefFoundError
別のjarから別のクラスをインポートする単純なクラスがあります。すべてがうまくコンパイルされますが、それを実行しようとしています...
何か案は?これをどのようにデバッグし始めますか?
java - java.lang.NoClassDefFoundError:クラスjava.net.ProxySelectorを初期化できませんでした
私はJavaアプリが絶えず投げる問題に遭遇しています:
java.lang.NoClassDefFoundError:クラスjava.net.ProxySelectorを初期化できませんでした。
Suse Linux 10.3を実行していて、java1.6.0を実行しています。私のCLASSPATHはに設定されています
/usr/lib/jvm/jre-1.6.0-openjdk/lib。
他のユーザーにはこのエラーが発生していないようですので、自分の設定を想定しています。アプリがyamjだと思っている人のために(http://code.google.com/p/moviejukebox/)
何が欠けているのか、何が間違っているのかについてのアイデアはありますか?
エラーの完全なトレースを編集するには、次のようにします。
java.lang.NoClassDefFoundError:sun.net.www.protocol.http.HttpURLConnection $ 5.run(HttpURLConnection.java:736)のクラスjava.net.ProxySelectorをjava.security.AccessController.doPrivileged(ネイティブメソッド)で初期化できませんでしたsun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:732)at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:672)atsun.net.www.protocol。 http.HttpURLConnection.getInputStream(HttpURLConnection.java:997)at com.moviejukebox.thetvdb.tools.XMLHelper.getEventReader(XMLHelper.java:19)at com.moviejukebox.thetvdb.model.Mirrors。(Mirrors.java:30)at com.moviejukebox.thetvdb.TheTVDB。(TheTVDB.java:37)at com.moviejukebox.plugin.TheTvDBPlugin。(TheTvDBPlugin.java:57)atsun.reflect.GeneratedConstructorAccessor2。newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:532)at java.lang.Class.newInstance0(Class.java: 372)at java.lang.Class.newInstance(Class.java:325)at com.moviejukebox.plugin.DatabasePluginController.getMovieDatabasePlugin(DatabasePluginController.java:96)at com.moviejukebox.plugin.DatabasePluginController.access $ 000(DatabasePluginController.java: 30)com.moviejukebox.plugin.DatabasePluginController $ 1.initialValue(DatabasePluginController.java:44)at com.moviejukebox.plugin.DatabasePluginController $ 1.initialValue(DatabasePluginController.java:39)at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java :160)java.lang.ThreadLocalで。get(ThreadLocal.java:150)at com.moviejukebox.plugin.DatabasePluginController.scan(DatabasePluginController.java:70)at com.moviejukebox.MovieJukebox.updateMovieData(MovieJukebox.java:1051)at com.moviejukebox.MovieJukebox.access $ 100( MovieJukebox.java:80)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:613)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:600)at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:334)at java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor $ java.lang.Thread.run(Thread.java)のWorker.run(ThreadPoolExecutor.java:603)scan(DatabasePluginController.java:70)at com.moviejukebox.MovieJukebox.updateMovieData(MovieJukebox.java:1051)at com.moviejukebox.MovieJukebox.access $ 100(MovieJukebox.java:80)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox .java:613)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:600)at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)at java.util.concurrent.FutureTask.run (FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)atjava.lang.Thread。 run(Thread.javascan(DatabasePluginController.java:70)at com.moviejukebox.MovieJukebox.updateMovieData(MovieJukebox.java:1051)at com.moviejukebox.MovieJukebox.access $ 100(MovieJukebox.java:80)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox .java:613)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:600)at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)at java.util.concurrent.FutureTask.run (FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)atjava.lang.Thread。 run(Thread.javajava:80)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:613)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:600)at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask .java:334)at java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor$Worker。 run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.javajava:80)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:613)at com.moviejukebox.MovieJukebox $ 4.call(MovieJukebox.java:600)at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask .java:334)at java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor$Worker。 run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.javarunWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.javarunWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.java
java - 春の NoClassDefFoundError
Weblogic 10.3 で動作する Spring アプリケーションを作成しました。このアプリケーションには、いくつかの JMS Queue コンシューマがあります。
アプリケーションを閉じているとき、または開いているときに、次のようなエラーが発生することがありました (両方の状況でこのエラーが発生しました)。
このエラーが発生する理由と、それを解決するにはどうすればよいですか? spring.jar のバージョンは 2.5.5 です
unix - Unix で jar を実行しているときにマニフェストのクラスパスが読み取られない
Unix で実行する必要があるクライアント アプリケーションがあります。Windows では問題なく動作しますが、UNIX では NoClassDefFound 例外が発生します。これが私のマニフェストファイルです:
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 2.3 (IBM Corporation) Main-Class: com.main.Client Class-Path: lib/commons-lang-2.3.jar lib/commons-io -1.3.2.jar lib/comm ons-logging-api-1.1.jar lib/log4j-1.2.12.jar
そして Client.jar 構造:
com com/main lib meta-inf
それを実行するには、以下のコマンドを使用します。
Windowsでは問題なく動作します。どういうわけか、マニフェストを正しく読んでいないと思います。助けてください!ありがとう!
java - Java: jar ファイルの更新中にクラスをロードする
私の Java プログラムは、実行時に動的にクラスをロードします。すべてのクラスは同じ jar にあります。
新しい jar ファイルをデプロイした後、jar ファイルのコピー中にエラーが発生することがあります (NoClassDefFoundError など)。もちろん、次回プログラムを実行すると、これはなくなります。jar の更新時にプログラムが影響を受けないように、クラスをプリロードする方法はありますか?
すべてのクラスのインスタンスを作成してから clone() できると思いますが、もっと良い方法があるでしょうか?
java - クラス名のない NoClassDefFoundError
Ant から Java タスクを実行しようとしています。「org.apache.tools.ant.launch.Launcher」クラスを実行しようとしています。クラス名を指定せずに「NoClassDefFoundError」を取得し続けます。また、「メインクラスが見つかりませんでした:.プログラムは終了します」というメッセージを表示するとともに、「ClassNotFoundException」も取得しています。ここにエラーのスニペットがあります
現在、ant jar から ant クラスを実行しようとしていますが、「classpathref」属性を使用してこのクラス ファイルが存在するクラスパスを指定していますが、それでもこのメッセージが表示されます。Ant jar をチェックしてマニフェストを確認したところ、「メイン」クラスが適切に指定されています (「org.apache.tools.ant.launch.Launcher」です)。私はすべてのリソースを使い果たしました。助けてください !! !
ps: 私の環境は Ubuntu 9.04 の Eclipse です。
java - 無視されたExceptionInInitializerErrorによって引き起こされたNoClassDefFoundErrorを分析する方法は?
今日は、午後にNoClassDefFoundErrorの分析に費やしました。クラスパスを何度も確認した後、最初に無視された例外をスローしたクラスの静的メンバーが存在することが判明しました。その後、クラスを使用するたびに、意味のあるスタックトレースなしでNoClassDefFoundErrorがスローされます。
それで全部です。これ以上の行はありません。
要点を減らすと、これが問題でした。
簡単ではないように、の最後の呼び出しを除いてA.getId()
、非常に大きなプロジェクトの初期化コードのどこかに隠されていました。
質問:
何時間もの試行錯誤の末にこのエラーを見つけたので、スローされた例外から始めてこのバグを見つける簡単な方法があるかどうか疑問に思います。これを行う方法についてのアイデアはありますか?
この質問が、説明のつかないことを分析している他の人にとってのヒントになることを願っていますNoClassDefFoundError
。