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包版相关推荐

  1. IDEA打包jar包(打包可运行jar,外部引用jar包版)

    参考地址:https://blog.csdn.net/dufufd/article/details/71126571 idea中将java项目中的单个类打包成jar包 参考地址:https://blo ...

  2. springBoot 项目 jar/war打包 并运行

    一:idea  打jar  包 简述:springboor  项目最好的打包方式就是打成jar  ,下边就是简单的过程 1.打开idea工具 ,选着要打开的项目, 然后打开view--> too ...

  3. 使用EXE4J自动打包可运行jar文件

    Eclipse提供了两种打包jar包的方式:jar文件和可运行jar文件(导出-->Java 菜单中).这两者的区别在于,导出的jar文件前者不可以直接运行,后者(可运行jar文件)可直接运行. ...

  4. java maven jar 打包_使用Maven打包可运行jar和javaagent.jar的区别

    简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...

  5. Idea打包可运行jar

    一.(1)打开项目结构页面, 二.弹出窗口:配置打包参数 (1)选择主类(主入口main方法) (2)配置:JAR files from libraries 个人建议选择"extract t ...

  6. java包 agent_使用Maven打包可运行jar和javaagent.jar的区别

    简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...

  7. Crmeb Java 项目打包可运行jar文件

    Crmeb Java 项目打包可运行jar文件 本地已经运行过的同学直接配置prod环境的yml文件后直接mvn install 打包即可. ⏬下载的源码,并导入开发工具 解压后的代码包内容 源码包基 ...

  8. gradle打包web jar_Gradle构建SpringBoot并打包可运行的jar配置

    使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...

  9. java打包可运行jar大小,Java项目打包可运行的Jar

    1. Eclipse中新建 Java项目 small,创建包 com.sinbong.test,新建 A_Test.java B_Test.java C_Test.java package com.s ...

最新文章

  1. Outlook Hotmail Connector
  2. python使用matplotlib可视化堆叠的柱状图(stacked bar plot)、多个类别的数据在分类变量层面累积堆叠起来
  3. C++中的private protected public区别
  4. elementui 如何修改表格里面cell的样式
  5. oracle删除实体,oracle 按条件删除、查询表
  6. python之Map函数 reduce 函数
  7. [LeetCode] Minimum Window Substring 散列映射问题
  8. 安卓 IOS 抓包工具介绍、下载及配置
  9. python 趋势跟踪算法_Dual Thrust 区间突破策略 Python 版
  10. 【英语六级】【仔细阅读】(4)
  11. MatLab实现的ftt大数乘法
  12. win10去掉快捷方式小箭头_Win10系统去除桌面快捷方式小箭头图标的三种方法
  13. 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
  14. VC++流量监控程序源代码
  15. electron-vue + electron-updater 实现自动更新(全量更新)
  16. 淘宝API接口,Onebound数据
  17. 软件测试七年之痒,依然热爱!我还是从前那个少年!
  18. 一维激波管matlab ausm程序,一维气液两相漂移模型全隐式AUSMV算法研究
  19. 电脑上被误删的文档怎么恢复?4个实用妙招解决
  20. revit二次开发 ExportContext

热门文章

  1. pdf怎么转换成word文字版
  2. Hadoop学习记录(6)|Eclipse安装Hadoop 插件
  3. eclispe dev tools
  4. [RMAN]使用RMAN删除过期归档日志
  5. 善用assert函数
  6. clock()函数的使用
  7. hbase分布式集群搭建
  8. openstack虚拟机迁移live-migration中libvirt配置
  9. Python抓取打印机硒鼓和组件剩余量的爬虫
  10. 面试题51. 数组中的逆序对