【问题标题】:ClassNotFoundException while running Jetty 7.6 as a windows service将 Jetty 7.6 作为 Windows 服务运行时出现 ClassNotFoundException
【发布时间】:2013-05-29 11:53:13
【问题描述】:

我浏览了@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

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

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

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

在 java.security.AccessController.doPrivileged(Native Method)

在 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。程序 将退出。

线程“main”中的异常

我使用的是 Windows 7、32 位和 Jetty 7.6。谁能帮帮我。

【问题讨论】:

    标签: windows service jetty


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      的内容
      -cp d:\Jetty-7.6\start.jar
      

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

      【讨论】:

      • 我已使用 --Classpath=D:\Jetty-7.6\start.jar 将 start.jar 放入类路径中,但在启动服务器时也无法找到该类。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 2012-09-15
      • 2015-09-16
      • 1970-01-01
      • 2017-10-10
      相关资源
      最近更新 更多