如何在 IntelliJ IDEA 中管理本地类库

一般来说,如果项目是基于 Maven 管理工具的,我们会在 pom.xml 中添加 dependency 来管理依赖。但有时也会遇到要用的类库不在 Maven Repository 的情况。

比较常见的解决方法是把 JARs 安装到 local repository。这种方法的缺点是,只对本机有效,别人拿到你的代码后不能直接使用。这在团队协作中很不方便。

使用 IntelliJ IDEA 的项目设置可以很容易的解决上面的问题。

下面我给大家演示一下。

定义类库

IntelliJ IDEA 支持定义3种级别的类库:

  • global

    对所有项目有效

  • project

    对本项目下所有模块有效

  • module

    仅对本模块有效

我推荐定义 project 级别的类库,然后在 module 中引用。

  1. 在项目根目录下创建lib文件夹,并把jar包复制进去。

    ├─.idea
    ├─lib
    │ taobao-sdk-java-auto_1550480258080-20190218.jar
    └─src
  2. 打开 Project Structure 窗口,选中 Project Settings 下的 Libraries 标签,然后点击右侧的+,选择Java

  3. 在弹出的窗口中选择lib目录下的jar包。

  4. 然后 IntelliJ IDEA 会询问是否添加到现有的 module 中:

  5. 全部设置好后点击OK

添加依赖

如果是先定义的类库,后创建的 module ,那就需要我们手动添加依赖。

打开 Modules 窗口,选择一个 module 添加依赖:

打包设置

定义完类库,添加好依赖,这只能保证编译正常。要想让运行不出错,还需要把类库添加到生成的jar包中。

打开 Artifacts 窗口,在右侧的 Available Elements 列表中找到上面添加的类库。

根据自己的需要选择Put into Output Root/Extract Into Output Root

总结

我们把第三方 jar 包存放在项目中,并通过定义 project 级别的类库进行引用,以保证在团队协作中,项目的依赖关系不丢失。

当然这一切的前提是把 IntelliJ IDEA 的项目文件也放到 VCS 中。稍后我会在另一篇中详细介绍 IntelliJ IDEA 的项目文件管理。

参考

How to manage local libraries in IntelliJ IDEA的更多相关文章

  1. How to add libraries to “External Libraries” in WebStorm/PhpStorm/Intellij

    Stack Overflow Questions Developer Jobs Tags Users   Log In Sign Up Join Stack Overflow to learn, sh ...

  2. Awesome Go精选的Go框架,库和软件的精选清单.A curated list of awesome Go frameworks, libraries and software

    Awesome Go      financial support to Awesome Go A curated list of awesome Go frameworks, libraries a ...

  3. Awesome Go

    A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...

  4. Awesome Go (http://awesome-go.com/)

    A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...

  5. Docker Resources

    Menu Main Resources Books Websites Documents Archives Community Blogs Personal Blogs Videos Related ...

  6. /etc目录深入理解

    /etc This is the nerve center of your system, it contains all system related configuration files in ...

  7. Automake

    Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...

  8. Go 语言相关的优秀框架,库及软件列表

    If you see a package or project here that is no longer maintained or is not a good fit, please submi ...

  9. A Simple Makefile Tutorial

    A Simple Makefile Tutorial A Simple Makefile Tutorial: http://www.cs.colby.edu/maxwell/courses/tutor ...

随机推荐

  1. rtx自定义面板不更新

    服务器和客户端自定义面的文件分别在下列xml中. 程序员的基础教程:菜鸟程序员

  2. RemoteExt 远程验证

    public class RemoteExtAttribute : RemoteAttribute { private string _resourceKey; public RemoteExtAtt ...

  3. Python 中的POST/GET包构建以及随机字符串的生成-乾颐堂

    现在,我们来用Python,创建GET包和POST包. 至于有什么用处,大家慢慢体会. Python 中包含了大量的库,作为一门新兴的语言,Python 对HTTP有足够强大的支持. 现在,我们引入新 ...

  4. nvidia 驱动下载地址

    http://www.nvidia.com/Download/index.aspx?lang=en-us

  5. Homestead window10 storage:link 不能建立符号链接的处理办法

    重启电脑 1. 以管理员身份运行 cmd 2. vagrant up 3. vagrant ssh 4. php artisan storage:link

  6. [翻译]Component Registration in Script System 在脚本系统中注册组件

    Component Registration in Script System 在脚本系统中注册组件   To refer to our component from a script, the cl ...

  7. 饿了么 PostgreSQL 优化之旅

    1. 架构演变 在O2O外卖领域,基于位置服务的需求越来越多,这就要求DB能够存储地理位置信息,而在开源数据库中,对空间地理数据支持比较好的要数PG的插件Postgis. 饿了么在使用PG的过程中,由 ...

  8. js如何给当前日期+1?

    一天=24小时=1440分钟=86400秒 所以给当前日期加一天的步骤为: 1.获取当前日期: 2.利用86400秒给其进行加一天操作: 3.类似加一天,两天,一月,一年等,过程如此. 代码如下(以j ...

  9. 在jquery中怎么使用css类名和id来获取元素?

    在jquery中,你可以很容易的使用CSS类名和id类获取元素. 例如: 1.ID:#id $('#idA')——选择id为idA的所有元素,不管元素的标签名如何. $('div#idA')——选择i ...

  10. SQL Server 数据库的分类和用户数据库文件组成

      数据库的分类       数据库分为两大类,一类是系统数据库:另一类是用户数据库,系统数据库我们一般使用的时候较少, 下面我们看看系统数据库包含哪些并分别有什么作用,如下图所示 用户数据库文件组成 ...