web-dev-qa-db-ja.com

Tomcat6をインストールするために/ usr / share / javaへのソフトリンクを作成する必要があるのはなぜですか?

ここの手順を使用して、lucidにTomcat6をインストールしました。 https://help.ubuntu.com/10.04/serverguide/C/Tomcat.html

(インスタンスレベルのバージョンは作成しませんでした-システムレベルのバージョンは問題ありませんでした)

起動しようとすると、ログに次のエラーが記録されました。

Java.lang.ClassNotFoundException: org.Apache.catalina.startup.Catalina
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:306)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:247)
    at org.Apache.catalina.startup.Bootstrap.init(Bootstrap.Java:216)
    at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:391)

これは、以下を実行することで解決されました。

root@...:/var/lib/Tomcat6# ln -s /usr/share/Java lib

なぜこれを行う必要があったのですか?なぜうまく機能しないのですか? (なぜこれが TomcatのUbuntuマニュアル にないのですか?)

2
hawkeye

以下を使用してTomcatをインストールします。

Sudo apt-get install Tomcat6

tomcatをインストールしてサービスとして正常に起動する必要があります。サービスは次を使用して開始および停止できます。

Sudo /etc/init.d/Tomcat6 start
Sudo /etc/init.d/Tomcat6 stop

ブラウザーを使用するかコマンドラインからhttp://localhost:8080/を表示すると、サービスが実行されているかどうかを確認できます。

curl http://localhost:8080/

これがすぐに機能しない場合は、マシンのセットアップ方法や、Tomcatサービスの実行方法について何かおかしいことがあります。

/etc/init.d/Tomcat6スクリプトを使用する以外の方法でTomcatを実行しようとしている場合、問題が発生する可能性があります。 Tomcatディストリビューションとファイルの場所を定義する2つの環境変数があります。 CATALINA_HOMEおよびCATALINA_BASE。パッケージのVanillaインストールの場合、これらはinit.dスクリプトによって次のように自動的に設定されます。

CATALINA_HOME=/usr/share/Tomcat6
CATALINA_BASE=/var/lib/Tomcat6

他の方法でTomcatを実行しようとしている場合、これらの変数が正しく設定されておらず、説明しているエラーが発生する可能性があります。

パッケージ化されたTomcatサーバーは、サーバー上でTomcatをバックグラウンドサービスとして実行するために使用されるように設計されているため、実際にはinit.dスクリプトを使用してのみ起動および停止する必要があります。開発マシン(たとえば、EclipiseなどのIDE)でTomcatを実行しようとしている場合、パッケージがTomcatをインストールする方法が不適切であることがわかり、代わりにプライベートをインストールする必要があります。サーバーマニュアルの instructions を使用するか、Tomcat Webサイトから直接 downloading を使用して手動で抽出します。

1
David Edwards