From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <46D6FD28.2020909@gmail.com> Date: Thu, 30 Aug 2007 20:23:52 +0300 From: Andrew Kornilov MIME-Version: 1.0 To: ALT Linux Sisyphus discussion list Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [sisyphus] =?utf-8?b?amF2YSwgdG9tY2F0NSwgYWx0ZXJuYXRpdmVzINC4INCy?= =?utf-8?b?0YHQtS3QstGB0LUt0LLRgdC1Li4u?= X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Aug 2007 17:27:20 -0000 Archived-At: List-Archive: List-Post: Привет всем. 1. Уже больше часа пытаюсь понять, как у нас правильно переключать java через alternatives. Кто-нибудь знает? 2. Вот этот код set_jvm_dirs() из /usr/share/java-utils/java-functions: ========================================= JAVA_VERSION= re='\([[:digit:]]\{1,\}\.[[:digit:]]\{1,\}\(\.[[:digit:]]\{1,\}\)*\)' for opt in -fullversion -version ; do # Yuck, "grep -o" would be cleaner, but requires GNU grep >= 2.5. # This could be improved/simplified if sed had non-greedy matching. JAVA_VERSION=$($JAVACMD $opt 2>&1 | sed -n \ -e '/java \(full \)*version "/s/'$re'/<<<\1>>>/' \ -e '/java \(full \)*version "/s/.*<<<\([^>]\{1,\}\)>>>.*/\1/p') if [ -n "$JAVA_VERSION" ] ; then break fi done ========================================= не работает с java-1.7.0 (вывод -version и -fullversion совсем не такой, как был раньше в java). Соответственно, поломалось всё :) 3. tomcat5 хочет именно java-1.7.0 или что-то из неё, не разбирался глубоко пока, но при попытке удалить 1.7.0 (и наличии 1.5, 1.6), apt хочет удалить и сам tomcat5. 4. Как же запустить tomcat5? ========================================= service tomcat5 start Starting tomcat5: lock file found but no process running for pid 25688, continuing /usr/bin/rebuild-jar-repository: error: JAVAVER_LIBDIR /usr/share/java- does not exist or is not a directory /usr/bin/rebuild-jar-repository: error: JAVAVER_LIBDIR /usr/share/java- does not exist or is not a directory /usr/bin/rebuild-jar-repository: error: JAVAVER_LIBDIR /usr/share/java- does not exist or is not a directory /usr/bin/rebuild-jar-repository: error: JAVAVER_LIBDIR /usr/share/java- does not exist or is not a directory ========================================= Даже если вбить в ту функцию явно версию 1.7.0, все равно не работает, видимо, еще где-то что-то определяет, в логах вот такое: ========================================= Using CATALINA_BASE: /usr/share/tomcat5 Using CATALINA_HOME: /usr/share/tomcat5 Using CATALINA_TMPDIR: /usr/share/tomcat5/temp Using JRE_HOME: java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina at java.net.URLClassLoader$1.run(URLClassLoader.java:221) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:209) at java.lang.ClassLoader.loadClass(ClassLoader.java:324) at java.lang.ClassLoader.loadClass(ClassLoader.java:269) at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410) ========================================= Похоже, jre_home определить не может. Такой запутанной системы работы я уже давно не видел, куча функций, альтернатив, runtime определений. Оно действительно нужно и работает? :-)