一. 问题概述
我们知道Intellij IDEA是非常好用的Java语言开发的集成环境。提供了非常多实用的功能,包括了智能代码助手、代码自动提示、代码重构、各种插件等,当然也集成了maven
正常情况下,我们创建maven项目时,相关的jar包会自动导入,当然我们也可以通过IDEA右侧的maven工具来实现jar包的加载。
但我们在实际开发过程中,可能会使用外部jar包的情况,如实现与第三方公司的系统对接时,需要使用到他公司提供的jar包,这个时候在maven中央仓库找不到,该如何导入呢?
首先未导入jar包时,代码中体现出找不到对应的程序包、类以及方法
二. 网上方案
在网上看到过一些解决方案,基本上提到的就是,打开项目结构(Project Structure),找到对应的Modules,然后右侧切换到Dependencies,点击“+”号添加“JARS or directories”,找到对应的jar包添加进来。
第一步:
第二步:
但经过我实际测试发现,代码中虽然不报错了,但通过tomcat启动,仍然报找不到对应class文件的错误。
引入了jar包siam-am-agent-simple-3.2.RELEASE.jar,代码也不再报错了,但项目启动后,仍然报ClassNotFoundException
三. 解决方案
经过我多次测试发现了解决方案
第一步,仍然打开项目结构(Project Structure)
第二步,在Libraries中将外部jar包添加进来
确定后,在Libraries中和对应的Module(此处为nuwa-application)的Dependencies中都可看到该jar包
这个时候就可以了吗,不,还不行,我们还需要在Artifacts中将刚才的jar包添加到发布的项目中
添加进来后是这样,和WEB-INF平行了,显然不行
我们需要将该jar包移到WEB-INF/lib文件jar中,直接拖动即可,到这里,我们将外部jar包添加到maven项目就完成了,代码不会报错,部署的时候也能正常运行。