如何通过命令行启动springboot应用程序?

时间:2017-12-15 16:01:27

标签: java spring-boot

我有springboot应用程序,我需要通过转到文件夹目录并通过命令行启动我的Web应用程序来启动它。我有一个名为Application.java的类,其中的代码如下所示。

@SpringBootApplication(scanBasePackages = {"com.ubs.tas.topcat.dashboard"})
public class Application extends SpringBootServletInitializer {
    private static final Logger LOGGER = LoggerFactory.getLogger(Application.class.getName());
    private static final Class<Application> applicationClass = Application.class;

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }

    public static void main(String[] args) {
        LOGGER.info("Starting...");
        SpringApplication.run(Application.class, args);
    }
}

我设置了classpath,然后尝试运行命令&#34; java ApplicationUtility&#34;但我收到此错误消息&#34; Could not find the main class: ApplicationUtility. Program will exist.&#34;

10 个答案:

答案 0 :(得分:8)

1。使用java -jar命令运行Spring Boot应用

要在终端窗口中从命令行运行Spring Boot应用程序,可以使用java -jar命令。 前提是您的Spring Boot应用程序打包为可执行jar文件。

java -jar target/app-0.0.1-SNAPSHOT.jar

2。使用Maven运行Spring Boot应用

您还可以使用Maven插件运行Spring Boot应用程序。使用以下命令运行带有Maven插件的Spring Boot应用程序:

mvn spring-boot:run

3。使用Gradle运行Spring Boot App

如果您使用Gradle,则可以使用以下命令运行Spring Boot应用程序:

gradle bootRun

答案 1 :(得分:5)

通过Maven配置的Spring Boot项目可以在项目源文件夹中使用以下命令运行

let input = [
  { _id: { year: 2020, month: 1 } },
  { _id: { year: 2019, month: 1 } },
  { _id: { year: 2019, month: 2 } },
  { _id: { year: 2019, month: 4 } },
  { _id: { year: 2019, month: 5 } },
  { _id: { year: 2019, month: 8 } },
  { _id: { year: 2019, month: 9 } },
  { _id: { year: 2019, month: 11 } }
];

let result = input.reduce((state, current) => {
   let prev = state.find(x => x._id.year === current._id.year);
   if(prev){
      prev._id.months.push(current._id.month);
   }
   else{
      state.push({_id: { year: current._id.year, months: [ current._id.month ] } });
   }
   return state;
},[]);

console.log(result);

答案 2 :(得分:4)

您需要先构建jar文件。以下是从jar文件运行主类的语法。

java -jar path/to/your/jarfile.jar fully.qualified.package.Application 

答案 3 :(得分:3)

使用Maven运行Spring Boot应用

您还可以使用Maven插件运行Spring Boot应用程序。使用以下示例通过Maven插件运行Spring Boot应用程序:

mvn spring-boot:run

使用Gradle运行Spring Boot App

如果您使用Gradle,则可以使用以下命令运行Spring Boot应用程序:

gradle bootRun

答案 4 :(得分:2)

如果您使用gradle,则可以使用:

./gradlew bootRun

答案 5 :(得分:2)

从命令行运行spring-boot应用程序的方法之一如下:

1)首先进入命令行中的项目目录 [您的项目在哪里?]

2)然后在下一步您必须为此创建jar文件,此操作可以

完成

mvnw package [对于WINDOWS操作系统]或./mvnw package [对于MAC OS ], 为我们的应用程序创建jar文件

3)在 target 子目录

中创建jar文件

4)现在转到目标子目录,因为其中创建了jar,即cd target

5)现在在其中运行jar文件。 使用命令java -jar name.jar [name是您创建的jar文件的名称。]

然后您就可以完成了。现在您可以在浏览器中运行项目

 http://localhost:port_number

答案 6 :(得分:1)

要运行spring-boot应用程序,需要执行一些步骤。

  1. Maven设置(忽略是否已设置):

    a。从https://maven.apache.org/download.cgi安装paven

    b。解压缩Maven并保存在C盘中。

    c。在系统变量中设置MAVEN_HOME。 enter image description here

    d。设置Maven的路径

enter image description here

  1. 将Maven插件添加到POM.XML

    <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>

  2. 使用Maven构建Spring Boot项目

       maven package
    

         mvn install
    
  3. 使用Maven运行Spring Boot应用程序:

        mvn spring-boot:run
    
  4. [可选] 使用java -jar命令运行Spring Boot应用

         java -jar target/mywebserviceapp-0.0.1-SNAPSHOT.jar
    

答案 7 :(得分:1)

macOS 用户 如果您使用 maven 配置您的应用程序 首先,在终端中转到您的项目目录 然后简单地运行

./mvnw spring-boot:run

你已经完成了。现在您可以使用端口号访问 localhost。

此命令在 spring official guide 中提到。

答案 8 :(得分:0)

我想您正在尝试编译应用程序并在不使用IDE的情况下运行它。 我还假定您已经安装了maven并将maven正确添加到您的环境变量中。

通过命令行导航到项目的根目录并执行命令

mvn spring-boot:run

CLI将在配置的端口上运行您的应用程序,并且您可以对其进行访问,就像在IDE中启动应用程序一样。

注意:仅当您已将maven添加到pom.xml中时,此方法才有效

答案 9 :(得分:-1)

Spring Boot为插件提供了maven。

因此您可以转到项目目录并运行

mvn spring-boot:run

当您使用spring-boot-devs-tool并在更改应用程序后自动重新加载/重新启动时,此命令行运行将很容易。