springboot 项目启动中调用python项目.exe文件报错:java.awt.HeadlessException

错误场景:

springboot项目在启动中同时启动python.exe项目,出现如下错误:java.awt.HeadlessException: null
java.awt.HeadlessException: null
	at java.awt.Desktop.getDesktop(Desktop.java:142) ~[na:1.8.0_171]
	at com.jero.business.common.service.impl.PythonServiceImpl.openPythonExe(PythonServiceImpl.java:38) ~[classes/:na]
	at com.jero.system.data.start.DataSourceCreateStart.run(DataSourceCreateStart.java:60) [classes/:na]
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
	at com.jero.JeroBootApplication.main(JeroBootApplication.java:34) [classes/:na]

解决方案:

该错误有两个解决办法,第一个办法只能解决开发过程中报错;第二个办法可以同时解决开发、生产打包问题
1、修改IDEA开发工具,此方法只能在开发时使用,不能解决项目打包问题;
在这里插入图片描述
在VM Option中添加:-Djava.awt.headless=false,点击保存即可;
在这里插入图片描述
2、在启动类中添加一行代码,可以同时解决开发,打包的问题;
添加代码:System.setProperty(“java.awt.headless”,“false”);

	public static void main(String[] args) {
    
    
		System.setProperty("java.awt.headless","false");
		SpringApplication.run(Application.class, args);
	}

猜你喜欢

转载自blog.csdn.net/weixin_39310051/article/details/125674966