我查看了@crowne撰写的解决方案: Running Jetty 7 as Windows Service
我用来安装服务的命令:
bin \ JettyService // IS // JettyService --DisplayName =“Jetty Service” --Install = D:\ Jetty-7.6 \ bin \ JettyService.exe --LogPath = D:\ Jetty-7.6 \ logs --LogLevel = Debug --StdOutput = auto --StdError = auto --StartMode = Java - StopMode = Java --Jvm = auto ++ JvmOptions = -Djetty.home = D:\ Jetty-7.6 ++ JvmOptions = -DSTOP.PORT = 8087 ++ JvmOptions = -DSTOP.KEY = downB0y ++ JvmOptions = -Djetty。 logs = D:\ Jetty-7.6 \ logs ++ JvmOptions = -Dorg.eclipse.jetty.util.log.SOURCE = true ++ JvmOptions = -XX:MaxPermSize = 128M ++ JvmOptions = -XX:+ CMSClassUnloadingEnabled ++ JvmOptions = -XX:+ CMSPermGenSweepingEnabled --Classpath = D:\ Jetty-7.6 \ start.jar --StartClass = org.eclipse.jetty.start.Main ++ StartParams = OPTIONS = All ++ StartParams = D:\ Jetty-7.6 \ etc \ jetty.xml ++ StartParams = D:\ Jetty-7.6 \ etc \ jetty-deploy.xml ++ StartParams = D:\ Jetty-7.6 \ etc \ jetty-webapps.xml ++ StartParams = D:\ Jetty -7.6 \ etc \ jetty-contexts.xml ++ StartParams = D:\ Jetty-7.6 \ etc \ jetty-testrealm.xml --StopClass = org.eclipse.jetty.start.Main ++ StopParams = - stop
但启动jetty服务器时出现此错误:
2013-06-03 14:58:17 Commons Daemon procrun stderr初始化 java.lang.NoClassDefFoundError:org / eclipse / jetty / start / Main
引起:java.lang.ClassNotFoundException: org.eclipse.jetty.start.Main
at java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
在java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)
在java.lang.ClassLoader.loadClass(ClassLoader.java:247)
无法找到主类:org.eclipse.jetty.start.Main。程序 将退出。
线程“main”中的异常
我使用的是Windows 7,32位和Jetty 7.6。有人可以帮帮我。
答案 0 :(得分:1)
似乎问题出在commons守护进程二进制文件提供的prunsrv.exe中。然后我使用64位Windows系统上提供的64位.exe工作得很好。但为什么id在32位窗口上不起作用仍然是一个谜。
答案 1 :(得分:0)
看起来你有一个类路径问题,运行java执行的服务不知道start.jar文件。我会研究该服务决策中可用的任何选项,并找出如何添加类似
的内容-cp d:\Jetty-7.6\start.jar
所以它在你的类路径上,从Jetty start.jar进程的那个点开始应该创建一个合理的类路径。