Когда я последовали за учебниками Kurento, чтобы запустить пример Java - Repository
, который сначала должен установить сервер репозитория kurento, я столкнулся с некоторыми проблемами.Не удается запустить сервер репозитория kurento
После инструкции по установке сервера Kurento Repository, в последнем шаге, я запускаю сервер на уровне пользователя с помощью команды:
$ cd kurento-repository-server-x.y.z
$ ./bin/start.sh
Unluckily, он показывает
$ bash ./start.sh
=========================================================================
Kurento Repository Bootstrap Environment
KREPO_BINARY: /home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/lib/kurento-repo.jar
JAVA: /usr/lib/jvm/jdk1.7.0_80/bin/java
JAVA_OPTS: -server -XX:+UseCompressedOops -XX:+TieredCompilation
KREPO_OPTS: -DconfigFilePath=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo.conf.json -Dkurento-repo.log.file=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/logs/kurento-repo.log -Dlogging.config=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo-log4j.properties -Dlog4j.configuration=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo-log4j.properties
=========================================================================
no main manifest attribute, in /home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/lib/kurento-repo.jar
ОК, он может не найти класс, который включает в себя метод main
.
Поэтому я изменил последнюю команду start.sh
из
exec $JAVA $JAVA_OPTS $KREPO_OPTS -jar $KREPO_BINARY
в
exec $JAVA $JAVA_OPTS $KREPO_OPTS -cp $KREPO_BINARY org.kurento.repository.KurentoRepositoryServerApp
Я уверен, что org.kurento.repository.KurentoRepositoryServerApp
включает в себя main
метод после того, как я просмотреть исходный код.
Однако показать другую ошибку:
$ bash ./start.sh
=========================================================================
Kurento Repository Bootstrap Environment
KREPO_BINARY: /home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/lib/kurento-repo.jar
JAVA: /usr/lib/jvm/jdk1.7.0_80/bin/java
JAVA_OPTS: -server -XX:+UseCompressedOops -XX:+TieredCompilation
KREPO_OPTS: -DconfigFilePath=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo.conf.json -Dkurento-repo.log.file=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/logs/kurento-repo.log -Dlogging.config=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo-log4j.properties -Dlog4j.configuration=/home/lcrc/kurento-java/kurento-repository/kurento-repository-server/target/kurento-repository-server-6.6.1-SNAPSHOT/config/kurento-repo-log4j.properties
=========================================================================
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/Servlet
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
at java.lang.Class.getMethod0(Class.java:2866)
at java.lang.Class.getMethod(Class.java:1676)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: javax.servlet.Servlet
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 6 more
Как это исправить?
THX, я попробую его –
Работает точно так же, как описано для последнего тега (еще 6.6.2). – Nicholi