在Java工程里好几次遇到了这个错误,每次都不记得上一次是怎么解决的,导致都要花费很长时间去处理,另一方面也是对java学习理解和使用的不够熟练。
现在将此问题记录下来,并将解决方法以及思路整理一下,下次再遇到可以有个参考。
先对问题进行一个简单的描述:
使用外部依赖添加的方式引入了某个jar包,在本地运行的时候可以正常运行,然而在使用maven打jar包的时候就会报错,具体错误就是找不到引入的那个jar包,对jar包中方法的使用也都是找不到符号。然而,让人无语的是IDEA中程序代码里并没有报错,一度很无奈。
网上一搜索,很多都是让检查Project Structure中project以及modules中的java环境配置、java compiler中的配置以及运行中的配置,然而检查之后发现都是一致的。
也有让检查pom文件中对maven-compiler-plugin配置的检查,也没有发现问题。
参考此文:https://blog.csdn.net/leo115/article/details/8187451
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF8</encoding>
</configuration>
</plugin>
有一次通过注释掉version那一行结果可以成功打jar包了,但是后面又不行了.
经过冷静下来思考,将jar包的引用方式改为通过pom文件引入,最终成功引入之后,再通过maven打jar包就没问题了。
虽然问题解决了,但还是没有搞懂通过pom文件引入和通过外部文件依赖引用的区别,猜测可能是这里的差异导致不能正常通过maven打jar包,需要再进一步学习。
感悟:遇到问题不要慌,像jar包不存在的错误首先想着如何去正确引用jar包,或许能够节省不少时间。