我正在使用apache commons deamon来制作Windows服务。从没有包含库的java类开始提供简单的服务就可以了。但我的目的是使用包含多个jar库的java类来提供服务。我尝试了两件事但没有成功。 首先做的是制作--classpath(pathToClassFile);(pathToJarLibraries)/ * jar;这导致NoClassDefFoundException 我做的第二件事是制作一个可运行的jar(其中包含所有库作为可执行文件)。使用java -jar(pathToJar)在命令提示符下运行它是正常的,但将其作为服务再次导致NoClassDefFoundException。 谁能告诉我如何告诉prunsrv命令我有一些运行主类文件所需的jar库?
答案 0 :(得分:0)
看起来prunsrv中classpath的语法是这样的:
prunsrv //US//TestService --Description="Some Dummy Test Service" --Startup=auto --Classpath=%CLASSPATH%;test.jar
当然, %CLASSPATH%
是一个Windows环境变量,如果您没有该环境变量,请将其保留。
答案 1 :(得分:0)
如果要使用嵌入了jar依赖项的jar创建服务,则必须将PR_STARTCLASS设置为“org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader”。