关于java:如何在代码更改后运行和部署Spring启动应用程序

how to run and delpoy Spring boot application after making changes in code

1
2
3
4
5
6
7
8
9
10
11
12
13
  @RestController
  @EnableAutoConfiguration
  public class DemoApplication {

   @RequestMapping("/")
    String home() {
    return"Hello Spring Boot!";
    }

   public static void main(String[] args) throws Exception {
    SpringApplication.run(DemoApplication.class, args);
   }
    }

据我所知,如果我们更改端口号,它将起作用。 我的问题是如何在服务器中部署每个更改


使用Spring启动devtools,您无需在每次更改时终止并重新启动应用程序。 DevTools可以在每次更改时轻松地为您重新启动应用程序。您所需要做的就是将其添加到您的依赖项中

行家

1
2
3
4
5
6
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        spring-boot-devtools</artifactId>
    </dependency>
</dependencies>

或者如果你使用gradle

1
2
3
dependencies {
    compile("org.springframework.boot:spring-boot-devtools")
}

只需添加依赖项,就可以为开发工作流程带来许多很酷的功能,包括自动重启和livereload。有关该访问的更多信息,请访问此官方春季博客https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3


有几种类型的开发选项可供选择。

对于localhost上的开发EAR(Exploded ARchive)类型的项目通常使用(因为您可以轻松地在服务器上进行热部署)。但是对于生产使用WAR(Web ARchive)(基本上它是相同的EAR存档,但使用ZIP算法压缩)。

如果要将项目部署到远程Tomcat服务器,请将项目作为WAR归档文件并将其上载到Tomcat的Web应用程序目录。然后,您可能需要重新启动Tomcat。但这是一种手动部署方式。

更好的选择是使用自动构建工具(如Maven),它可以编译项目,运行单元测试,在Web服务器上部署(本地或远程)等。

如果您有多个服务器,则检查是否有任何服务器正在运行。检查服务器控制台中没有运行任何服务器。如果运行然后停止,然后再次在服务器上运行您的项目。


似乎某些东西已在端口8181上运行。如果您使用的是Mac或Linux,则可以使用终端进行检查

lsof -i tcp:8181

参考:在Mac上查找(和终止)进程锁定端口3000