idea中如何将单个java类导出为jar包文件?

 

idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能:  导出单个类文件为jar包!

  偶有这种需求,就是某个类文件独立存在,但是需要将其导出为jar,供别人临时使用,或者一些必要的场合,如: 编写一些特殊的agent使用。

  不想为某个单个文件写一个项目,就想把代码加载在某个项目的角落里,怎样将该单个类文件导出为jar包呢?

1. 写好功能工具类,如:

package com.youge.api;

public class Hello {

    public static void main(String[] args) throws Exception {
        Hello hello = new Hello();
        hello.sayHello("word. bingo!");
    }

    public void sayHello(String word) {
        System.out.println("hello, " + word);
    }

}

2. 点击idea中的 File -> Project Structure... -> Artifacts -> 添加+ -> JAR -> Empty

 

填写好jar name, 添加好对应的资源文件。先创建好与包名对应的文件目录结构(目录结构不一致可能导致后续使用jar文件时报class not found exception),图解如下:

最后,加载编写出的单个类文件(编译后的 .class 文件),如下图打开添加file, 找到文件。

加载后,文件如下,设置好jar文件的输出目录,点击ok关闭对话框:

3. 编写清单文件 MANIFEST.MF,如有必要,再将打开 Project Structure...

点击 Create new ManiFest, 选择位置,然后创建一个默认的 MANIFEST.MF。 然后关闭对话框,进入自行编辑。

MANIFEST.MF格式如下:

Manifest-Version: 1.0
Main-Class: com.youge.api.Hello

 拓展知识:

 文件定义了与扩展和包相关的数据。单词“manifest”的意思是“显示”,其一般属性有
1. Manifest-Version  用来定义manifest文件的版本,例如:Manifest-Version: 1.0
2. Created-By 声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
3. Signature-Version 定义jar文件的签名版本
4. Class-Path  应用程序或者类装载器使用该值来构建内部的类搜索路径

应用程序相关属性
1. Main-Class 定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件

 

4. 导出jar文件,先运行 build(将java文件编译到class中,从而例jar文件可更新), 再导出:

导出,点击build后完成导出:

 

如此,到之前设置的目录下OutPut directory,就可以找到导出的jar文件了。

测试运行jar文件:

java -jar hello.jar

 这里只是个简单的生成jar的方式,个人觉得还是挺实用的!

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值