java.lang.ClassNotFoundException: com.alibaba.fastjson.JSON

pvcm50d1  于 2021-11-27  发布在  Java
关注(0)|答案(10)|浏览(748)

使用Maven打包代码后运行报错:

Exception in thread "main" java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSON
    at cn.huberylee.App.main(App.java:28)
Caused by: java.lang.ClassNotFoundException: com.alibaba.fastjson.JSON
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

不打包直接运行是没有问题的,可能的原因是什么?新手,求指导!谢谢!

bakd9h0s

bakd9h0s1#

打包的时候没有把fastjson打进去。看一下maven的作用域

e5nqia27

e5nqia272#

直接使用的

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.12</version>
</dependency>

这个作用域不对么?

v1uwarro

v1uwarro3#

这样写没错,为了验证时不时包没有导进去。你可以看看打的包内部是不是有fastjson包 或者将fastjson包添加到运行环境的lib包内。如果能跑通那就是包的问题,如果还不同是不是可以考虑运行环境的问题。希望对你有帮助

ni65a41a

ni65a41a4#

我也遇到类似问题.我是用idea maven打包jar, 后面用到fastjson才加上,但是maven工程没有自动把fastjson添加到classpath路径,需要手动加入就可以了,或者重新建一个jar就会把当前依赖加到classpath里头,

v1uwarro

v1uwarro5#

遇到同样的问题,有什么解决方案么。现在只能手动把fastjson的jar包拷过来,运行的时候加到classpath里。

iq0todco

iq0todco6#

@charlessoft 这个方法有效

r8xiu3jd

r8xiu3jd7#

会不会是pom.xml里, 配置着provided,这个删去也可。

7vux5j2d

7vux5j2d8#

老哥稳啊,解决了

8ehkhllq

8ehkhllq9#

打包的时候选择deploy,不要选择package

yquaqz18

yquaqz1810#

直接把jar包放在类路径下吧,简单粗暴。

相关问题