How to manage local libraries in IntelliJ IDEA
如何在 IntelliJ IDEA 中管理本地类库
一般来说,如果项目是基于 Maven 管理工具的,我们会在 pom.xml 中添加 dependency 来管理依赖。但有时也会遇到要用的类库不在 Maven Repository 的情况。
比较常见的解决方法是把 JARs 安装到 local repository。这种方法的缺点是,只对本机有效,别人拿到你的代码后不能直接使用。这在团队协作中很不方便。
使用 IntelliJ IDEA 的项目设置可以很容易的解决上面的问题。
下面我给大家演示一下。
定义类库
IntelliJ IDEA 支持定义3种级别的类库:
global
对所有项目有效project
对本项目下所有模块有效module
仅对本模块有效
我推荐定义 project 级别的类库,然后在 module 中引用。
在项目根目录下创建
lib文件夹,并把jar包复制进去。├─.idea
├─lib
│ taobao-sdk-java-auto_1550480258080-20190218.jar
└─src
打开 Project Structure 窗口,选中 Project Settings 下的 Libraries 标签,然后点击右侧的+,选择
Java:

在弹出的窗口中选择
lib目录下的jar包。然后 IntelliJ IDEA 会询问是否添加到现有的 module 中:

全部设置好后点击
OK:

添加依赖
如果是先定义的类库,后创建的 module ,那就需要我们手动添加依赖。
打开 Modules 窗口,选择一个 module 添加依赖:

打包设置
定义完类库,添加好依赖,这只能保证编译正常。要想让运行不出错,还需要把类库添加到生成的jar包中。
打开 Artifacts 窗口,在右侧的 Available Elements 列表中找到上面添加的类库。
根据自己的需要选择Put into Output Root/Extract Into Output Root:

总结
我们把第三方 jar 包存放在项目中,并通过定义 project 级别的类库进行引用,以保证在团队协作中,项目的依赖关系不丢失。
当然这一切的前提是把 IntelliJ IDEA 的项目文件也放到 VCS 中。稍后我会在另一篇中详细介绍 IntelliJ IDEA 的项目文件管理。
参考
- https://www.jetbrains.com/help/idea/library.html
- https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
How to manage local libraries in IntelliJ IDEA的更多相关文章
- 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 ...
- 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 ...
- Awesome Go
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...
- Awesome Go (http://awesome-go.com/)
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...
- Docker Resources
Menu Main Resources Books Websites Documents Archives Community Blogs Personal Blogs Videos Related ...
- /etc目录深入理解
/etc This is the nerve center of your system, it contains all system related configuration files in ...
- Automake
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...
- Go 语言相关的优秀框架,库及软件列表
If you see a package or project here that is no longer maintained or is not a good fit, please submi ...
- A Simple Makefile Tutorial
A Simple Makefile Tutorial A Simple Makefile Tutorial: http://www.cs.colby.edu/maxwell/courses/tutor ...
随机推荐
- python操作vmware
import pysphere from pysphere import VIServer host_ip = "200.200.173.45" username = " ...
- JAVA高并发线程
一.JAVA高级并发 1.5JDK之后引入高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线程发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发 ...
- mybatis开发Dao的Mapper动态代理方式
1. 开发规范Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体跟Dao原始方法中接口实现类的方法相 ...
- labview使用场景
测试测量:LABVIEW [6] 最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域.经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认.至今,大多数主流的测 ...
- (转)SQL Server内存遭遇操作系统进程压榨案例
原文地址:http://www.cnblogs.com/zc_0101/p/3592259.html 场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没 ...
- Centos 7 搭建wordpress
1.安装mysql 详情见:http://www.cnblogs.com/jw35/p/6044170.html 2.关闭firewalld与selinux systemctl stop firewa ...
- XML--将XML中数据提取出转换成表
DECLARE @xml XMLSET @xml='<Students> <Student id="1001"> <name&g ...
- CVE-2018-7600 Drupal核心远程代码执行漏洞分析
0x01 漏洞介绍 Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用.两周前,Drupal安全团队披露了一个非常关键的漏洞,编号CV ...
- zTree设置选中节点之后出现重复节点
1.用户离开页面时最后一次点击的节点信息我会保存到数据库. 2.用户打开页面时默认选中上一次离开时选中的节点. 现在发现在设置选中节点之后,会出现重复的节点(重复现象偶尔出现). 以下是代码: var ...
- [JAVA]java复制文件的4种方式
尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...