2012-02-28 23 views
1

CygwinでApache Tomcatを設定しようとしています。configtest.shスクリプトを実行すると、このエラーが発生します。それは、現在のディレクトリから始めているように私の環境変数すべてが正しいように見えるが、Javaクラスを見つけていない文句とき、それはいくつかの奇妙なパスで探してみる:CygwinでApache Tomcatを設定する

Using CATALINA_BASE: C:\cygwin\usr\local\apache-tomcat-7.0.26 
Using CATALINA_HOME: C:\cygwin\usr\local\apache-tomcat-7.0.26 
Using CATALINA_TMPDIR: C:\cygwin\usr\local\apache-tomcat-7.0.26\temp 
Using JRE_HOME:  C:\Program Files (x86)\Java\jre7 
Using CLASSPATH:  C:\cygwin\usr\local\apache-tomcat-7.0.26\bin\bootstrap.jar;C:\cygwin\usr\local\apache-tomcat-7.0.26\bin\tomcat-juli.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap 
    <<No stacktrace available>> 
Caused by: java.lang.ClassNotFoundException: org.apache.catalina.startup.Bootstrap not found in java.lang.ClassLoader$1{urls=[ 
file:/usr/local/apache-tomcat-7.0.26/bin/C, 
file:/usr/local/apache-tomcat-7.0.26/bin/\cygwin\usr\local\apache-tomcat-7.0.26\bin\bootstrap.jar;C, 
file:/usr/local/apache-tomcat-7.0.26/bin/\cygwin\usr\local\apache-tomcat-7.0.26\bin\tomcat-juli.jar], parent=null} 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:531) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:341) 
    at java.lang.ClassLoader$1.loadClass(ClassLoader.java:1112) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:293) 
Configuration error detected! 

誰も私が間違ってやっているものを私に教えてもらえます?

+0

WindowsとCygwinのパスを混在させようとしています。 –

+0

私のパスはWindowsパスとしてjavaに渡されるはずです。それは起動スクリプトがするものです。だから私は彼らがスタックトレースにすべてのファンキーを表示する理由を知らない。 –

+0

実際、私は問題を見る。 $ _RUNJAVAは私のWindowsのインストールではなく、/ usr/bin/javaを呼び出します。私はこれについて何をすべきかわかりません。 –

答えて

0

スタックトレースに表示されるファイルURLが正しく表示されません。クラスパスは、UNIXパス区切りで分割されているように見えますが、ウィンドウ1ではなく、スラッシュはUNIXスラッシュであり、UNIXスラッシュではありません。私があなただったら

file:/usr/local/apache-tomcat-7.0.26/bin/C, 
file:/usr/local/apache-tomcat-7.0.26/bin/\cygwin\usr\local\apache-tomcat-7.0.26\bin\bootstrap.jar;C, 
file:/usr/local/apache-tomcat-7.0.26/bin/\cygwin\usr\local\apache-tomcat-7.0.26\bin\tomcat-juli.jar 

は、私はcygwinの内の任意のパス関連の環境変数を設定するのではなく、あなたがbashスクリプトを実行していることから、窓に依存しようと思います。 cygwinの値をcygpathプログラムを使用してウィンドウ変数に依存させることができます:

export CLASSPATH=`cygpath $CLASSPATH` 
+0

起動スクリプトはこれを行います。 '' CLASSPATH = 'cygpath --path --windows" $ CLASSPATH "' ' Javaへのパスを渡す前に –

+0

は正しく動作するはずですか? –

+0

--windowsは、パスのWindows版を出力します。 – gorjusborg

関連する問題