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 ...
随机推荐
- Eclipse 安装PyDev开发Python及初步使用
Eclipse 安装PyDev插件后可开发Python 参考网址:https://blog.csdn.net/wscdylzjy/article/details/44066977 具体请参考上述网址, ...
- Kafka命令行常用命令说明
基于0.8.0版本. ##查看topic分布情况kafka-list-topic.sh bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181 ...
- Golang之继承,多重继承(struct)
热乎的代码来了 package main import "fmt" /* 继承 一个结构体嵌到另一个结构体,称作组合 匿名和组合的区别 如果一个struct嵌套了另一个匿名结构体, ...
- yum 系列(二) 离线部署
yum 系列(二) 离线部署 一.下载 rpm 依赖包 (1) yum 下载 rpm 包 准备一台 全新的 CentOS7 mini 虚拟机 ,联网下载所有所需的 rpm 包和其依赖, yum ins ...
- firstpage 2015/5/21
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="firstPage.aspx ...
- 基于Web Service的客户端框架搭建二:数据转换层(FCL)
引言 要使用WebService来分离客户端与服务端,必定要使用约定好两者之间的数据契约.Json数据以其完全独立于语言的优势,成为开发者的首选.C# JavaScriptSerializer为Jso ...
- PHPCMS V9 模块开发 二次开发实例 留言本
鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从 ...
- Oracle学习笔记(四)
六.约束 1.约束的作用 定义规则:什么数据可以输入,什么不可以 确保完整性:数据的精确性和可靠性 2.Oracle五个重要的约束: 非空约束.主键约束.外键约束.检查约束.唯一约束. (1)非空约束 ...
- 复杂HTML页面解析
1.层叠样式表CSS可以让html元素呈现出差异化,网络爬虫可以通过class属性的值,轻松分出不同标签 findAll函数通过标签的名称和属性来查找标签 from urllib.request im ...
- CLOB 和 BLOB
An SQL CLOB is a built-in type that stores a Character Large Object as a column value in a row of a ...