要从Spring Boot应用程序的文件夹中作为JAR文件运行主应用程序,而不是使用Spring Boot的启动器,你可以按照以下步骤操作:
spring-boot-maven-plugin
插件打包成一个可执行的JAR文件,包含了所有依赖项。META-INF/MANIFEST.MF
文件,其中指定了主类。原因:META-INF/MANIFEST.MF
文件中没有正确指定主类。
解决方法:
确保pom.xml
或build.gradle
文件中正确配置了主类。
Maven:
<properties>
<start-class>com.example.YourMainClass</start-class>
</properties>
Gradle:
springBoot {
mainClassName = 'com.example.YourMainClass'
}
原因:JAR文件中没有包含所有必要的依赖项。
解决方法:
确保使用spring-boot-maven-plugin
或Gradle的Spring Boot插件正确打包依赖项。
Maven:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Gradle:
bootJar {
archiveClassifier.set('')
}
假设你的主类是com.example.DemoApplication
,以下是如何运行它的示例:
构建项目:
mvn clean package
运行JAR文件:
java -jar target/demo-application.jar
通过以上步骤,你可以从Spring Boot应用程序的文件夹中作为JAR文件运行主应用程序。
领取专属 10元无门槛券
手把手带您无忧上云