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=-停止

しかし、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

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

問題は、コモンズ デーモン バイナリで提供される prunsrv.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 に答える