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 ...
随机推荐
- 在Linux下访问Windows共享文件夹
说明 以下操作以Ubuntu为例,大家可以参考. 我在Ubuntu 14.04和16.04都试过了. Windows共享文件夹 如果局域网内有一台Windows主机,将指定文件夹设为共享,就可以在局域 ...
- Android系统编译与测试
1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到Andr ...
- 【译】微型ORM:PetaPoco【不完整的翻译】(转)
出处:http://www.cnblogs.com/youring2/archive/2012/06/04/2532130.html PetaPoco是一款适用于.Net 和Mono的微小.快速.单文 ...
- Nginx搭建成功后,无法访问Tomcat问题
一.nginx搭建好后无法访问后端Tomcat项目 通过项目名称过滤的方式访问Tomcat,比如项目名称叫easy. 修改其server下的location目录,配置如下: server { #监听的 ...
- Oracle学习笔记(十三)
十四.触发器(监听数据操作的工具) 1.什么是触发器? 数据库触发器是一个与表相关联的.存储的PL/SQL程序 作用: 每当一个特定的数据操作语句(insert.update.delete)在指定的表 ...
- Hello_Depth_Perception 任务二:Project Tango采集深度感知数据
Java API Depth Perception Tutorial深度感知教程 Configuration 配置信息 In order to use depth perception, your T ...
- [label][JavaScript扩展] JavaSCript扩展
http://www.idangero.us/sliders/swiper/ ,swipper for mobile terminal.
- Android-Java读写文件到自身APP目录
界面: Layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
- visual studio code中使用emmet插件在.vue文件失效
使用visual studio code编辑.vue文件时,emmet插件无法使用,可以通过以下两种试解决: 1.文件→设置,在右侧窗口添加以下代码: "emmet.syntaxProfil ...
- 用jquery-table2excel,进行导出excel
jquery-table2excel是一款可以将HTML表格的内容导出到微软Excel电子表格中的jQuery插件.该插件可以根据你的需要导出表格中的内容,不需要的行可以不导出. 它文件体积小,使用非 ...