如何在 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. python操作vmware

    import pysphere from pysphere import VIServer host_ip = "200.200.173.45" username = " ...

  2. JAVA高并发线程

    一.JAVA高级并发 1.5JDK之后引入高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线程发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发 ...

  3. mybatis开发Dao的Mapper动态代理方式

    1. 开发规范Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体跟Dao原始方法中接口实现类的方法相 ...

  4. labview使用场景

    测试测量:LABVIEW [6]  最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域.经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认.至今,大多数主流的测 ...

  5. (转)SQL Server内存遭遇操作系统进程压榨案例

    原文地址:http://www.cnblogs.com/zc_0101/p/3592259.html 场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没 ...

  6. Centos 7 搭建wordpress

    1.安装mysql 详情见:http://www.cnblogs.com/jw35/p/6044170.html 2.关闭firewalld与selinux systemctl stop firewa ...

  7. XML--将XML中数据提取出转换成表

    DECLARE @xml XMLSET @xml='<Students>    <Student  id="1001">        <name&g ...

  8. CVE-2018-7600 Drupal核心远程代码执行漏洞分析

    0x01 漏洞介绍 Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用.两周前,Drupal安全团队披露了一个非常关键的漏洞,编号CV ...

  9. zTree设置选中节点之后出现重复节点

    1.用户离开页面时最后一次点击的节点信息我会保存到数据库. 2.用户打开页面时默认选中上一次离开时选中的节点. 现在发现在设置选中节点之后,会出现重复的节点(重复现象偶尔出现). 以下是代码: var ...

  10. [JAVA]java复制文件的4种方式

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...