Tomcat FindClass与prunsrv一起失败&;弹簧靴?

Tomcat FindClass与prunsrv一起失败&;弹簧靴?,tomcat,spring-boot,prunsrv,Tomcat,Spring Boot,Prunsrv,我试图按照说明将SpringBootWeb服务作为windows服务运行。如果我将start指向org.springframework.boot.loader.JarLauncher,那么我的web服务将启动并工作,但是当我尝试指向我添加的引导类时,会收到一条“FindClass com/mycompany/Bootstrap failed”消息。所以prunsrv可以找到SpringBoot类,但不能找到我的类 有什么建议吗?使用org.springframework.boot.loader.

我试图按照说明将SpringBootWeb服务作为windows服务运行。如果我将start指向org.springframework.boot.loader.JarLauncher,那么我的web服务将启动并工作,但是当我尝试指向我添加的引导类时,会收到一条“FindClass com/mycompany/Bootstrap failed”消息。所以prunsrv可以找到SpringBoot类,但不能找到我的类

有什么建议吗?使用org.springframework.boot.loader.JarLauncher似乎可以很好地启动windows服务,但是我无法正常停止服务,我必须在任务管理器中终止它

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\GMC_TLG_DEV\Parameters\Java]
"Jvm"="E:\\Java\\jre1.8.0_121_32\\bin\\client\\jvm.dll"
"Classpath"="E:\\Apache\\prunsvc\\myspringbootjar.jar"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\GMC_TLG_DEV\Parameters\Start]
"Class"="org.springframework.boot.loader.JarLauncher"
"Mode"="jvm"
"Method"="main"



[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\GMC_TLG_DEV\Parameters\Start]
"Class"="com.mycompany.Bootstrap"
"Mode"="jvm"
"Method"="start"

我知道你的帖子发布已经很久了,但我今天遇到了同样的问题。这可能与自1.4.0以来Spring Boot中JAR文件的打包发生了变化有关

此处的说明适用于我的情况:

我能够解决这个问题,所以我发布了解决方案

问题是SpringBoot不再在普通类路径上存储应用程序类。Spring boot有自己的类加载器,用于加载应用程序类。为了将com.mycompany.Bootstrap类放在正确的位置,我在Maven构建中添加了如下所示的ANT脚本。这个脚本来自某个地方的帖子,但我不记得在哪里

听起来Radu的解决方案也很合适

        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
            <execution>
                <phase>package</phase>
                <configuration>
                    <target>
                        <zip destfile="${project.build.directory}/${project.build.finalName}.jar"
                            update="true" compress="store">
                            <fileset dir="${project.build.directory}/classes" >
                                <include name="com/mycompany/Bootstrap.class"/>
                            </fileset>
                        </zip>
                    </target>
                </configuration>
                <goals>
                    <goal>run</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

org.apache.maven.plugins
maven antrun插件
1.8
包裹
跑

您是对的,请参阅我的答案。然而,我用另一种方式解决了这个问题。你的解决方案看起来也不错,不知道为什么你被否决了