+
 新版

spring项目下写个界面idea可以运行,maven打包jar报错,界面类空指针

Rsky08 发布于 2020/02/02 16:28
阅读 2K+
收藏 0

spring主函数入口

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

界面代码

@Component
public class T extends JFrame {
	//内容没写,
}

原本没有继承JFrame之前项目可以运行,T.class可以实例化。
继承之后报如下错误;

java.awt.HeadlessException: null

然后在主函数加System.setProperty("java.awt.headless", "false");后可以在idea正常运行。
但是用maven打包成jar又报错了,错误如下;

[ERROR] contextLoads  Time elapsed: 0.001 s  <<< ERROR!
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 't' defined in file [D:\JavaPorject\com\Stock\target\classes\com\example\demo\utils\T.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.demo.utils.T]: Constructor threw exception; nested exception is java.awt.HeadlessException
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.demo.utils.T]: Constructor threw exception; nested exception is java.awt.HeadlessException
Caused by: java.awt.HeadlessException

找了几个方法都是都能解决在idra运行,但是用maven打包成jar就会报错。

请问一下改如何解决?谢谢!

加载中
0
f
freezingsky
这种问IDE问题的,帮不上忙😀
Rsky08
Rsky08
应该是我写代码有问题😅
0
z
zuhizo

环境变量里的jdk版本和idea配置的jdk版本不一样

Rsky08
Rsky08
还不清楚是不是版本的问题
0
chentao106
chentao106
idea用的是自带jdk,maven打包用的是主机默认jdk,搞清楚这两者的版本差异
Rsky08
Rsky08
应该不是版本问题,不写界面打包是没有问题的
0
菜狗哉
菜狗哉
你可以看idea run时的控制台,会打印出使用的jdk,依赖的系统包,JVM参数。用这个参数试试行不行。
Rsky08
Rsky08
idea可以运行,已经加了运行参数。只是打包出错。应该是代码写法有问题
0
飞翔的鹿
飞翔的鹿

楼主解决了这个问题了吗?

0
宗人府1992
宗人府1992

感觉你这不是打包吧,都开始创建bean了,应该是运行了吧。感觉你应该把单测给禁用了。

0
祝酒邀山月
祝酒邀山月

请问楼主解决这个问题了吗?

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部