Java 如何在Windows Server 2012 R2上部署spring启动应用程序?

Java 如何在Windows Server 2012 R2上部署spring启动应用程序?,java,iis,spring-boot,Java,Iis,Spring Boot,我有一个差不多已经完成的Springboot应用程序,它在我的本地主机上运行顺利 我还有一台Windows服务器,现在可以开始使用了。我发现,当我在浏览器中使用其IP地址点击此服务器时,它会在以下位置显示来自Windows IIS的Hello World页面: C:\inetpub\wwwroot\iisstart.html 我是否可以简单地将当前springboot应用程序的全部内容复制并粘贴到此文件夹中,并期望它正常工作?我可以复制并粘贴JAR文件吗?对于如何将我的应用程序部署到我的服务器

我有一个差不多已经完成的Springboot应用程序,它在我的本地主机上运行顺利

我还有一台Windows服务器,现在可以开始使用了。我发现,当我在浏览器中使用其IP地址点击此服务器时,它会在以下位置显示来自Windows IIS的Hello World页面:

C:\inetpub\wwwroot\iisstart.html

我是否可以简单地将当前springboot应用程序的全部内容复制并粘贴到此文件夹中,并期望它正常工作?我可以复制并粘贴JAR文件吗?对于如何将我的应用程序部署到我的服务器以便其他用户可以访问它,我一直无法找到明确的答案。我该怎么办?

Spring Boot首先使用Maven创建一个“完全可执行”的jar,使用以下插件配置:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>
转到应用程序目录(您必须在系统中安装web应用程序)

粘贴Spring boot捆绑jar(使用
mvn包构建)

通过命令提示符转到当前路径,只需键入
java-jar…jarName.jar
(例如java-jar custstomerService.jar)

注意:

当一个完全可执行的jar运行时,它使用jar的目录作为工作目录

这仅适用于带捆绑web服务器jar部署的spring引导,不适用于war


我发现上面的说明在我的虚拟化服务器上不起作用。虽然运行“uber jar”会启动Tomcat实例并向上提供页面,但它只会在用户登录到VM时这样做。如果您的虚拟机为用户设置了任何自动超时规则,那么一旦您被踢出,该站点将不再处于活动状态。据我所知,有必要将您的spring boot应用程序设置为windows服务,以使其持续运行。

我有点困惑。当我在本地机器上找到.jar时,我是不是把它放在我的Windows 2012 R2服务器的IIS wwwroot目录下,网站在我运行它之后就可以正常运行?@santafebound目录选择是你的,就像你系统中的任何软件一样,是IIS服务器目录之外的最佳选择,因为java和.Net不同的平台好吧,但你的意思是fat.jar确实包含运行我的网站所需的一切?如果我只是在我的系统的任何地方运行jar文件,web应用程序将可以在我的服务器的IP上访问?@santafebound yes,IP和端口在application.properties中可配置。如果不配置,请使用系统IP和8080端口,我已经解决了这个问题。我只需要找到一种方法将这个jar文件传输到我的虚拟机,这样我就可以确认您的指令是否有效。
springBoot {
    executable = true
}