springboot打包的jar,使用java -cp报错:找不到或无法加载主类

问题

springboot打包的jar,使用java -cp报错:找不到或无法加载主类

解决办法

springboot打包的文件与一般java启动方式有一些差别

需要修改为使用以下命令,后面增加类:org.springframework.boot.loader.PropertiesLauncher,如下:
java -cp .:test-0.0.1-SNAPSHOT.jar -Dloader.main=com.aa.common org.springframework.boot.loader.PropertiesLauncher

注释

org.springframework.boot.loader.PropertiesLauncher是Spring Boot中的一个特殊的启动器类。它的主要作用是加载和解析Spring Boot应用程序的属性文件,并在启动应用程序时将这些属性应用到应用程序的上下文中。

具体来说,PropertiesLauncher负责以下几个任务:

  1. 加载应用程序的属性文件:Spring Boot应用程序通常使用application.propertiesapplication.yml文件来配置应用程序的属性。PropertiesLauncher负责加载这些属性文件,使得应用程序可以使用这些配置。

  2. 解析属性文件中的属性:PropertiesLauncher解析属性文件中的键值对,将它们转换为Spring Boot应用程序的属性。这些属性可以在应用程序的上下文中使用,以配置各种组件和行为。

  3. 提供外部属性的支持:除了默认的属性文件外,PropertiesLauncher还支持外部属性的加载。通过使用命令行参数或环境变量,您可以指定额外的属性文件或属性值,这些属性将与应用程序的默认属性合并。

  4. 处理属性值的占位符:在属性文件中,您可以使用${...}占位符来引用其他属性的值。PropertiesLauncher负责解析这些占位符,将其替换为正确的属性值。

总之,org.springframework.boot.loader.PropertiesLauncher是Spring Boot的一个启动器类,用于加载和解析应用程序的属性文件,并将这些属性应用到应用程序的上下文中。它在启动Spring Boot应用程序时起到重要的作用,确保应用程序使用正确的配置和属性。

猜你喜欢

转载自blog.csdn.net/Mint6/article/details/131773930