0

我浏览了@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=全部 ++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

但是在启动码头服务器时出现此错误:

2013-06-03 14:58:17 Commons Daemon procrun stderr initialized java.lang.NoClassDefFoundError: org/eclipse/jetty/start/Main

引起:java.lang.ClassNotFoundException:org.eclipse.jetty.start.Main

在 java.net.URLClassLoader$1.run(URLClassLoader.java:202)

在 java.security.AccessController.doPrivileged(本机方法)

在 java.net.URLClassLoader.findClass(URLClassLoader.java:190)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:306)

在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)

找不到主类:org.eclipse.jetty.start.Main。程序将会退出。

线程“主”中的异常

我正在使用 Windows 7、32 位和 Jetty 7.6。有人可以帮帮我吗。

4

2 回答 2

1

似乎问题出在公共守护程序二进制文件提供的 prusrv.exe 上。然后我使用了 64 位 Windows 系统上提供的 64 位 .exe,它工作得很好。但为什么 id 在 32 位 Windows 上不起作用仍然是个谜

于 2013-06-10T09:48:32.620 回答
0

您似乎有一个类路径问题,即运行 java 执行的服务不知道 start.jar 文件。我会研究该服务dealio上可用的任何选项,并弄清楚如何添加类似的东西

-cp d:\Jetty-7.6\start.jar

所以它在你的类路径上,从那时起 Jetty start.jar 进程应该制作一个合理的类路径。

于 2013-06-03T15:02:30.140 回答