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を使用しています。何が問題なのでしょうか?
Vmがクラスを見つけませんorg/Apache/juli/logging/LogFactory
使用するTomcat-juli.jarにこのクラスが存在するかどうかを確認します(解凍してファイルを検索します)。存在しない場合は、Apache Webサイトからライブラリをダウンロードします。 Tomcat-juli.jarは、Tomcatがクラスをロードするために使用するパス(libディレクトリ)に存在します。 Tomcatで見つからない場合は、使用しているJREのlibディレクトリにあるjarをコピーできます。
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>
これは、Tomcat 5.5を使用していたために起こりましたcatalina.sh
インストール済みのTomcat 7ファイル。 catalina.sh
Tomcat 7のインストールに付属していた問題は修正されました。
Jsvcを使用してTomcatをTomcatとして実行している場合(/etc/init.d/Tomcat
をルートとして実行)、/etc/init.d/Tomcat
を編集し、$CATALINA_HOME/bin/Tomcat-juli.jar
をCLASSPATH
に追加します。
私は同じ問題を抱えていました、私を助けたのは:
完了しました。
私たちの場合、Eclipse 3.5用のSysdeo Tomcatプラグインの間違ったバージョンが使用されていました。修正:
tomcatPluginV33
の代わりに tomcatPluginV321
(に抽出 C:\Eclipse\dropins
)DevloaderTomcat7.jar
はTomcat lib
フォルダーに配置されましたこの問題は、当社の環境に固有のものである可能性があります。しかし、とにかく、後世のためにここに記録します。
Ubuntu 14.04 LTSの場合
/usr/share# mv /opt/Tomcat/Apache-Tomcat-7.0.56/ Tomcat7
私のために問題を修正しました。/optへのシンボリックリンクがありました。 optディレクトリ内の../../Javaリンクは、ファイルが物理的に/ optにあるため、/ usr/share/Javaを指していません。