web-dev-qa-db-ja.com

java.lang.NoClassDefFoundError:org / Apache / juli / logging / LogFactory

My Java app:の起動に問題があるようです。

スレッド「メイン」の例外Java.lang.NoClassDefFoundError:org/Apache/juli/logging/LogFactory at org.Apache.catalina.util.LifecycleBase。(LifecycleBase.Java:37)原因:Java.lang.ClassNotFoundException:org。 Java.net.URLClassLoader $ 1.run(URLClassLoader.Java:366)at Java.net.URLClassLoader $ 1.run(URLClassLoader.Java:355)at Java.security.AccessController.doPrivileged(Native Method)のApache.juli.logging.LogFactory )Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)at Java.lang.ClassLoader.loadClass(ClassLoader.Java:423)at Sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.Java:308)at Java .lang.ClassLoader.loadClass(ClassLoader.Java:356)... 1つ以上

ここで解決策を試しました: Java.lang.NoClassDefFoundError:org/Apache/juli/logging/LogFactory

しかし、Tomcat-juli.jarはすでに表示されています。また、Tomcat 7を使用しています。何が問題なのでしょうか?

29
Michael

Vmがクラスを見つけませんorg/Apache/juli/logging/LogFactory使用するTomcat-juli.jarにこのクラスが存在するかどうかを確認します(解凍してファイルを検索します)。存在しない場合は、Apache Webサイトからライブラリをダウンロードします。 Tomcat-juli.jarは、Tomcatがクラスをロードするために使用するパス(libディレクトリ)に存在します。 Tomcatで見つからない場合は、使用しているJREのlibディレクトリにあるjarをコピーできます。

16
Max Zerbini

MavenからTomcat-embed-core::7.0.47を使用しているときにこの問題に遭遇しました。 Tomcat-utilをランタイム依存関係として追加しなかった理由がわからないので、自分のランタイム依存関係を自分のプロジェクトに追加しました。

<dependency>
  <groupId>org.Apache.Tomcat</groupId>
  <artifactId>Tomcat-util</artifactId>
  <version><!-- version from Tomcat-embed-core --></version>
  <scope>runtime</scope>
</dependency>
11
Kyle Krull

これは、Tomcat 5.5を使用していたために起こりましたcatalina.shインストール済みのTomcat 7ファイル。 catalina.sh Tomcat 7のインストールに付属していた問題は修正されました。

8
hertzsprung

Jsvcを使用してTomcatをTomcatとして実行している場合(/etc/init.d/Tomcatをルートとして実行)、/etc/init.d/Tomcatを編集し、$CATALINA_HOME/bin/Tomcat-juli.jarCLASSPATHに追加します。

7

私は同じ問題を抱えていました、私を助けたのは:

  1. プロジェクトを右クリックします。
  2. Properties」をクリックします
  3. Java Build Path」に移動します
  4. そして: 'Libraries'
  5. そこで、クリックします:Add External Jars
  6. 追加: '' Path/To/Tomcat/Bin/Tomcat-juli.jar

完了しました。

4

私たちの場合、Eclipse 3.5用のSysdeo Tomcatプラグインの間違ったバージョンが使用されていました。修正:

  • つかいます tomcatPluginV33 の代わりに tomcatPluginV321 (に抽出 C:\Eclipse\dropins
  • 確認しておいて DevloaderTomcat7.jarはTomcat libフォルダーに配置されました
  • [ウィンドウ]> [設定]> [Tomcat]で、Tomcatバージョンを7.xに設定します。

この問題は、当社の環境に固有のものである可能性があります。しかし、とにかく、後世のためにここに記録します。

0
RMorrisey

Ubuntu 14.04 LTSの場合

/usr/share# mv /opt/Tomcat/Apache-Tomcat-7.0.56/ Tomcat7

私のために問題を修正しました。/optへのシンボリックリンクがありました。 optディレクトリ内の../../Javaリンクは、ファイルが物理的に/ optにあるため、/ usr/share/Javaを指していません。

0
Wolfgang Fahl