問題タブ [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.
eclipse - java.lang.NoClassDefFoundError:org / apache / juli / logging / LogFactory
私は実際にこの問題を理解しましたが、数日かかったので、他の人を助けるためにここに解決策を貼り付けようと思いました。
私はFedora11を使用しており、EclipseでTomcat6サーバーを追加して起動してみました。次のエラーが発生します。
「ローカルホストでTomcatv6.0サーバーを起動する」で問題が発生しました。
サーバーローカルホストのTomcatv6.0サーバーを起動できませんでした。
それから私のコンソールで私は次のものを手に入れました:
以下の回答で解決策を投稿します。
java - NoClassDefFoundErrorとClassNotFoundExceptionの原因と違いは何ですか?
NoClassDefFoundError
との違いは何ClassNotFoundException
ですか?
それらが投げられる原因は何ですか?それらはどのように解決できますか?
新しいjarファイルを含めるように既存のコードを変更するときに、これらのスローアブルに遭遇することがよくあります。Webstartを介して配布されるJavaアプリについて、クライアント側とサーバー側の両方でヒットしました。
私が遭遇した考えられる理由:
build.xml
コードのクライアント側には含まれていないパッケージ- 使用している新しいjarのランタイムクラスパスがありません
- バージョンが以前のjarと競合しています
今日これらに遭遇したとき、私は物事を機能させるためにトレイルアンドエラーアプローチを取ります。もっと明確に理解する必要があります。
java - 大学の bash で Java が NoClassDefFoundError で失敗する
NoClassDefFoundError に関する多くの投稿があることは知っていますが、それらはすべて jar ファイルについて話しているようです。私はEclipseでJavaに慣れていますが、大学側で何かが壊れていない限り、私が思いつくことができる最も単純なものが機能しない理由についてはかなり迷っています。
これは、これをスローする hello.java プログラム全体です。
$CLASSPATH=./:/usr/java/latest/lib:/home/41/myusername/bin
与えます:
再び例外を除いて。
与えます:
java - java.lang.ClassNotFoundException の取得: org.apache.commons.logging.LogFactory 例外
春の単純な依存性注入プログラムを実行して、この例外を取得しています。私はすでに common-logging1.1.1.jar と spring.jar ファイルを含めています。手伝ってくれませんか?
java - Tomcat 6/JDK 6 で Mysql/j コネクタが不可解にアンロードされる
私の質問を見てくれてありがとう。
一度に 1 つのサーバーのみに配布することを目的とした Java WAR ファイルを開発しています。これまでのところ、Debian、Ubuntu、および開発中の Windows マシンの 3 つの異なるサーバーでテストして成功しました。
最終展開サーバーでは、何らかの理由でアプリが正常に展開され、起動するたびに約 3 分間正常に実行されます。データベース接続が機能し、すべて正常に動作します。ただし、3 分後、アプリが DB にアクセスしようとするたびに、一貫して NoClassDefFoundError が表示されるようになります。
私は次のライブラリで、すべてが WAR ファイルにパッケージ化されています。
Mysql/j コネクタ、最新バージョン ActiveObjects、0.8.2 Jasorb 1.3 Jython 2.5.1 (一部のスクリプト用) Tomcat 6.0.20 mod_python Apache
エラー:
スレッド「Timer-4」の例外 java.lang.NoClassDefFoundError: com.mysql.jdbc.Util.handleNewInstance(Util.java:430) の com/mysql/jdbc/SQLError com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl) .java:352) で com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284) で java.sql.DriverManager.getConnection(DriverManager.java:582) で java.sql.DriverManager.getConnection(DriverManager.java: 185) net.java.ao.DatabaseProvider.getConnectionImpl(DatabaseProvider.java:771) で net.java.ao.DatabaseProvider.getConnection(DatabaseProvider.java:734) で net.java.ao.EntityManager.find(EntityManager.java) :666) net.java.ao.EntityManager.find(EntityManager.java:607) で net.java.ao.EntityManager.find(EntityManager.java:579) com.sq.sa.SAPushAlertsTask.run(SAPushAlertsTask.java:32) で java.util.TimerThread.mainLoop(Timer.java:512) で java.util.TimerThread.run(Timer.java:462) で投稿者: java.lang.ClassNotFoundException: org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:138 7) の com.mysql.jdbc.SQLError org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader. java:123 3) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13 詳細WebappClassLoader.loadClass(WebappClassLoader.java:138 7) で org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:123 3) で java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13もっとWebappClassLoader.loadClass(WebappClassLoader.java:138 7) で org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:123 3) で java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13もっと
java - Tomcat の CLASSPATH は Java のものとは異なり、"." は含まれません。どうすれば変更できますか?
なぜjava.lang.NoClassDefFoundError
.
以下のコードを使用して、パス変数が保持するものを確認しました。
出力は次のとおりです。
ご覧のとおり、クラスパスは "." で始まりません。それが想定されているとおりであり、それが私のプログラムが私の webapp のサブディレクトリからインポートしたクラスを見つけられない理由だと思います。
クラスパスがどこに設定されているかを確認するために、私はやったgrep -R bootstrap.jar /usr/local/tomcat/
、そしてこれに出くわした:(CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar
ファイル内/usr/local/tomcat/bin/catalina.sh
)
これは、何らかの理由で $CLASSPATH がここで空であると信じさせます。しかし、echo $CLASSPATH
正常に戻ります.:/usr/lib/jvm/java-6-sun/bin:/usr/local/tomcat/lib/servlet-api.jar
ここで問題を突き止めるのを手伝ってくれる人はいますか?
編集:すべてのサーブレット ファイルは にWEB-INF/classes/controllers/
あり、読み込もうとしているライブラリはサブディレクトリのクラス ファイルです。たとえば、ClassName.class
が WEB-INF/classes/controllers/packagename/ ディレクトリにある場合package packagename
、 の先頭に追加し、inClassName.java
を使用してインポートします。import packagename.*
someServlet.java
EDIT2:私は私の問題を解決しました。私の主な問題は、以下に示すように、正しいパッケージ名を使用していないことでした。また、からコンパイルするのでclasses/controllers/
はなく、ディレクトリ内からコンパイルしようとしていましたclasses/
。ご協力ありがとうございました!
java - 単純な Java プログラムの実行中に NOClassDefFound エラーが発生する
このコードは正常にコンパイルされますが、実行しようとすると、NoClassDefFound というエラーが表示されます。考えられる原因と解決策を教えてください。
java - 恐ろしい java.lang.NoClassDefFoundError
このエラーに関する既存のスレッドの多くを調べましたが、まだうまくいきません。jar をパッケージ化しようとしたり、サードパーティのパッケージ化ツールを使用したりしようとしているわけではありません。私は単純に Eclipse 内から実行しており (うまく動作します)、ビルド先と同じ場所でコマンドラインからまったく同じアプリを実行しようとしています (このエラーが発生します)。私の目標は、bin フォルダーを圧縮して送信し、コマンド ライン スクリプトを介して他のユーザーが実行できるようにすることです。いくつかの詳細:
- これはコマンドライン アプリで、文字列ユーティリティには commons-lang-2.4.jar を使用しています。それが見つからないファイルです (具体的には「java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils」)
- libフォルダーにそのjarがあり、「ビルドパス->ビルドパスに追加」を右クリックしてEclipseのビルドパスに追加しました
- .classpath ファイルは正しいように見え、jar への参照が含まれていますが、ファイルは Eclipse でのみ使用されると想定しています (次の行が含まれています:
<classpathentry kind="lib" path="lib/commons-lang-2.4.jar"/>
) - これは、Eclipse の作業ディレクトリの設定に関連している可能性がありますか? src/templates の下に作成した内部テンプレート ファイルがいくつかありますが、それらを表示するには、プロジェクトの作業ディレクトリを AppName/src に設定するしかありません。多分私はそれらをどこかに置くべきですか?
追加情報が役立つかどうか教えてください。確かにこれは単純なことですが、この時点であまりにも多くの時間を無駄にしました。これは、私が最初に '05 かそこらで Java を離れた理由を思い出させます...
selenium - TestNG + Selenium の問題。noClassDef エラー、TestNG ベースのセレン テスト
私は多くのガイドやフォーラムの投稿をオンラインでフォローしてきましたが、これを TestNG 内で機能させることができませんでした。これは、日食でプログラムされたセレン グリッド ベースのテストです。問題があったため、このフォーラム投稿の提案にリストされているライブラリを使用しました: http://clearspace.openqa.org/message/66867
Eclipse (org.testng.eclipse) 用の testNG テスト プラグインでスイートを実行しようとしています。また、コマンドラインからセレングリッドを介してjarを実行しようとしましたが、役に立ちませんでした。
私は Java 開発者ではないので、正直なところ、何を探すべきか完全にはわかりません。Processing 環境のおかげで Java にはある程度慣れていますが、このタスクのために Java/Eclipse に放り込まれてしまい、少し途方に暮れています。とにかく、どんな助けでも大歓迎です。事前に感謝します。
これが私のコードです:
suite.java:
実際のテストケース
および SeleneseTestNGHelper クラス