一. 问题概述

我们知道Intellij IDEA是非常好用的Java语言开发的集成环境。提供了非常多实用的功能,包括了智能代码助手、代码自动提示、代码重构、各种插件等,当然也集成了maven

正常情况下,我们创建maven项目时,相关的jar包会自动导入,当然我们也可以通过IDEA右侧的maven工具来实现jar包的加载。

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_解决方案

但我们在实际开发过程中,可能会使用外部jar包的情况,如实现与第三方公司的系统对接时,需要使用到他公司提供的jar包,这个时候在maven中央仓库找不到,该如何导入呢?

首先未导入jar包时,代码中体现出找不到对应的程序包、类以及方法

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_jar包_02

二. 网上方案

在网上看到过一些解决方案,基本上提到的就是,打开项目结构(Project Structure),找到对应的Modules,然后右侧切换到Dependencies,点击“+”号添加“JARS or directories”,找到对应的jar包添加进来。

第一步:

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_解决方案_03

第二步:

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_jar包_04


idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_java_05

但经过我实际测试发现,代码中虽然不报错了,但通过tomcat启动,仍然报找不到对应class文件的错误。

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_开发工具_06


idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_解决方案_07

引入了jar包siam-am-agent-simple-3.2.RELEASE.jar,代码也不再报错了,但项目启动后,仍然报ClassNotFoundException

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_开发工具_08

三. 解决方案

经过我多次测试发现了解决方案

第一步,仍然打开项目结构(Project Structure

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_maven_09

第二步,在Libraries中将外部jar包添加进来

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_jar包_10


idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_maven_11

确定后,在Libraries中和对应的Module(此处为nuwa-application)的Dependencies中都可看到该jar包

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_开发工具_12


idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_java_13

这个时候就可以了吗,不,还不行,我们还需要在Artifacts中将刚才的jar包添加到发布的项目中

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_解决方案_14

添加进来后是这样,和WEB-INF平行了,显然不行

idea如何用maven给项目添加mysql包 idea里面maven项目如何添加外部jar_解决方案_15

我们需要将该jar包移到WEB-INF/lib文件jar中,直接拖动即可,到这里,我们将外部jar包添加到maven项目就完成了,代码不会报错,部署的时候也能正常运行。