Настройка Apache Tomcat в Cygwin - PullRequest
1 голос
/ 29 февраля 2012

Я пытаюсь настроить Apache Tomcat на Cygwin, и когда я запускаю скрипт configtest.sh, я получаю эту ошибку.Все мои переменные окружения кажутся правильными, но когда java жалуется на отсутствие классов, он пытается найти странные пути, как будто он начинается с текущего каталога:

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!

Может кто-нибудь сказать мне, что яделаешь неправильно?

1 Ответ

0 голосов
/ 29 февраля 2012

URL-адреса файлов, показанные в трассировке стека, выглядят некорректно. Путь к классу выглядит так, как будто он был разделен разделителем пути unix, а не windows, а косые черты - это косые черты, а не 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, а не полагаться на windows, поскольку вы запускаете скрипт bash. Вы можете сделать значение cygwin зависимым от переменных windows, используя программу cygpath:

export CLASSPATH=`cygpath $CLASSPATH`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...