IDEA如何打包可运行jar,外部引用jar包版
2019独角兽企业重金招聘Python工程师标准>>>
背景:
有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包;或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包。并且,如果依赖第三方jar时,又不希望第三方jar也打入最终的可运行jar包,并且还希望,组织下目录结构(如把第三方jar文件,放到最终可运行jar包的并行目录lib下)
开发环境
OS: Windows 8.1
JDK: 1.7.0
开发工具: IntelliJ IDEA 13.1.1
步骤:
1. 选中Java项目工程名称,在菜单中选择 F12
2. 在弹出的窗口中左侧选中"Artifacts",点击"+"选择jar,然后选择"from modules with dependencies"。
3. 在配置窗口中配置"Main Class"。
4. 选择“Main Class”后,选择“copy to the output and link via manifest”,配置“Directory for META-INF/MAINFEST.MF”,此项配置的缺省值是:D:\workshop\DbUtil\src\main\java,需要改成:D:\workshop\DbUtil\src\main\resources(需要新建文件夹),如果不这样修改,打成的jar包里没有包含META-INF/MAINFEST.MF文件,这个应该是个IDEA的BUG(参考:http://stackoverflow.com/questions/15724091/how-to-run-a-jar-file-created-using-intellij-12),配置完成后如下图所示,点击OK进入下一步。(如果选择“extract to the target jar”,即把第三方jar文件,打入最终的可运行jar包时,可以不修改“Directory for META-INF/MAINFEST.MF”的配置,用缺省值即可)
5. 右键“<output root>”,选择“Create Directory”,输入目录名:libs
6. 用鼠标按住第三方jar,拖入<output root>下的libs目录下
7. 用鼠标选中我们将要打出的jar包文件,点击下方“Class Path:”后面的按钮,在“Edit Classpath”窗口中,将每个第三方jar文件前加上相对路径:libs/,形成如:libs/xxx.jar的形式(注意是 / ,而不是 \),这个目录“libs”,就是前面输入的那个“libs”,这里如果第三方jar很多的话,可以在“Edit Classpath”窗口中,用鼠标选中所有第三方jar,然后Ctrl+X,把内容cut & copy到UltraEdit里,用列格式一下子全部修改好,再paste到“Edit Classpath”窗口中。完成后如下所示:
8. 完成后,点击OK,Apply等按钮,回到IDEA的主菜单,选择“Build - Build Artifacts”下的“Build”或者“Rebuild”即可生成最终的可运行的jar,并把第三方jar放到和此jar并行的lib目录下,用winrar打开目标jar,可以看到META-INF/MAINFEST.MF文件被正确包含,内容也正确。
9. 在jar包的输出目录下,执行命令:java -jar xxx.jar,即可运行jar文件。
转载于:https://my.oschina.net/u/3647620/blog/1552526
IDEA如何打包可运行jar,外部引用jar包版相关推荐
- IDEA打包jar包(打包可运行jar,外部引用jar包版)
参考地址:https://blog.csdn.net/dufufd/article/details/71126571 idea中将java项目中的单个类打包成jar包 参考地址:https://blo ...
- springBoot 项目 jar/war打包 并运行
一:idea 打jar 包 简述:springboor 项目最好的打包方式就是打成jar ,下边就是简单的过程 1.打开idea工具 ,选着要打开的项目, 然后打开view--> too ...
- 使用EXE4J自动打包可运行jar文件
Eclipse提供了两种打包jar包的方式:jar文件和可运行jar文件(导出-->Java 菜单中).这两者的区别在于,导出的jar文件前者不可以直接运行,后者(可运行jar文件)可直接运行. ...
- java maven jar 打包_使用Maven打包可运行jar和javaagent.jar的区别
简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...
- Idea打包可运行jar
一.(1)打开项目结构页面, 二.弹出窗口:配置打包参数 (1)选择主类(主入口main方法) (2)配置:JAR files from libraries 个人建议选择"extract t ...
- java包 agent_使用Maven打包可运行jar和javaagent.jar的区别
简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...
- Crmeb Java 项目打包可运行jar文件
Crmeb Java 项目打包可运行jar文件 本地已经运行过的同学直接配置prod环境的yml文件后直接mvn install 打包即可. ⏬下载的源码,并导入开发工具 解压后的代码包内容 源码包基 ...
- gradle打包web jar_Gradle构建SpringBoot并打包可运行的jar配置
使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...
- java打包可运行jar大小,Java项目打包可运行的Jar
1. Eclipse中新建 Java项目 small,创建包 com.sinbong.test,新建 A_Test.java B_Test.java C_Test.java package com.s ...
最新文章
- Outlook Hotmail Connector
- python使用matplotlib可视化堆叠的柱状图(stacked bar plot)、多个类别的数据在分类变量层面累积堆叠起来
- C++中的private protected public区别
- elementui 如何修改表格里面cell的样式
- oracle删除实体,oracle 按条件删除、查询表
- python之Map函数 reduce 函数
- [LeetCode] Minimum Window Substring 散列映射问题
- 安卓 IOS 抓包工具介绍、下载及配置
- python 趋势跟踪算法_Dual Thrust 区间突破策略 Python 版
- 【英语六级】【仔细阅读】(4)
- MatLab实现的ftt大数乘法
- win10去掉快捷方式小箭头_Win10系统去除桌面快捷方式小箭头图标的三种方法
- 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
- VC++流量监控程序源代码
- electron-vue + electron-updater 实现自动更新(全量更新)
- 淘宝API接口,Onebound数据
- 软件测试七年之痒,依然热爱!我还是从前那个少年!
- 一维激波管matlab ausm程序,一维气液两相漂移模型全隐式AUSMV算法研究
- 电脑上被误删的文档怎么恢复?4个实用妙招解决
- revit二次开发 ExportContext