IntelliJ IDEA 2017 打包jar和相关问题处理

原创 2017年06月07日 22:54:27

记录一下自己用IntelliJ IDEA打包jar的问题。主要是最近写了tinify的java版,打包jar出了点小问题,所以在这里记录一下。
先简单介绍一下用IntelliJ IDEA打包的流程,后面有就遇到的打包问题来说明如何解决。

一、jar打包流程

IntelliJ IDEA本身已经做得很强大了,我们只需要按照它提供的功能来操作就行了。这里是以我上篇文件写的java版tinify的api打包jar为例子讲的。

  1. 菜单:文件->项目结构…(也可以按快捷键ctrl+alt+shift+s)
    这里写图片描述
  2. 在弹窗最左侧选中Artifacts->左数第二个区域点击”+”,选择jar,然后选择from modules with dependencies,然后会有配置窗口出现
    这里写图片描述
  3. 最终的创建jar面板
    这里写图片描述
    必须注意的是,必须有MANIFEST.MF文件。你创建的时候会自动创建这个文件的
  4. 生成jar文件
    内部版本号菜单
    这里写图片描述
    弹出的小面板
    这里写图片描述
    默认情况,生成的jar文件在classes下面
    这里写图片描述
  5. 运行jar文件
E:\workspaces\JavaProjects\tinifyJava\classes\artifacts\tinify_jar>java -jar tinify.jar

二、打包jar有可能遇到的错误

有时,你打包出来的jar会出现这种情况

E:\workspaces\JavaProjects\tinifyJava\classes\artifacts\tinify_jar>java -jar tinify.jar
tinify.jar中没有主清单属性

解压tinify.jar,查看它的MANIFEST.MF文件内容

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: jwilson
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_45

发现这个内容和我们src里面的MANIFEST.MF文件内容不一样,这个是src下面的MANIFEST.MF文件内容

Manifest-Version: 1.0
Main-Class: TinifyClient

两者的区别是

Main-Class: TinifyClient

明明是按照操作说明那里,在src下面增加MANIFEST.MF(自动生成的),为什么打包还是会出错呢。
后来仔细想了一下,发现编译后class的文件夹没有对应的MANIFEST.MF文件。

jar打包是需要class文件的,那么自然也是读取这个目录的MANIFEST.MF文件了。所以把MANIFEST.MF复制到默认生成class文件的文件夹:target,再次打包jar,问题得以解决。最终输出结果:

E:\workspaces\JavaProjects\tinifyJava\classes\artifacts\tinify_jar>java -jar tinify.jar
E:\workspaces\JavaProjects\tinifyJava\classes\artifacts\tinify_jar
根据配置来压缩图片
上传:E:\tinify\input\mail\bg\bg.png

终于可以正常运行了!

版权声明:本文为博主原创文章,转载必须声明出处和作者。地址:http://blog.csdn.net/sujun10 作者:弃天笑

idea 2017打包jar包

idea2017添加jar包        最近项目用到了打包jar包,顺便写篇博客记录下,也方便有需要的同学了解下    第一步点击File ,打开Project Structure     ...

Idea打包Jar文件

前言 如何使用Idea把多个可执行的Class文件,打到一个Jar包里,使用Java命令执行不同的Class文件呢?还有,如何打成直接可执行的Jar包呢?下面进行说明...
  • hotdust
  • hotdust
  • 2017年02月21日 10:46
  • 4060

IDEA如何打包可运行jar的一个问题

背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包;或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包。并且,如果依赖第三方jar时,又不希望...

IntelliJ IDEA 如何打包可运行 jar

转自:http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包;或者某些项目不是WEB应用,纯粹是后台应...

Idea导出可执行jar包

在Idea中将Java Application导出为可执行jar包
  • yizhenn
  • yizhenn
  • 2017年03月31日 21:51
  • 1637

IDEA将web项目打成war包

非Maven项目打包方式       按ctrl+滚动鼠标滚轮就能放大浏览器看图片了。或者将图片拖到新窗口打开。  然后点击OK,然后build一下。然后去classes文件夹下面找就能...

使用IneliJ IDEA 2016将Java Web项目导出为War包

本文记录使用IDEA导出war包的过程以及碰到问题的解决办法 虽说现在改用IDEA进行开发了,但还是用eclipse打war包 ….囧 这样下去不是办法。。。 于是今天就试着使用IDE...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

idea将项目导出为war包

eclipse运行能在设置的输出路径生成war包,但idea运行项目发现并没有在设置好的输出路径生成war包。 需要单独设置。 首先点击这里进入项目的配置页面 在Ar...

Intellij Idea 将java项目打包成jar

Intellij Idea 将java项目打包成jar 2014-11-23 01:55 55575人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: Java(6) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IntelliJ IDEA 2017 打包jar和相关问题处理
举报原因:
原因补充:

(最多只允许输入30个字)