67

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

 5 years ago
source link: http://www.cnblogs.com/yougewe/p/9651156.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

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

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

aIjAJzA.png!web

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

F3eiEfz.png!web

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

F3EJbm7.png!web

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

aiQRfqV.png!web

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

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

bumQNjB.png!web

一些基础参数可以直接在上面填写:

nMB3ayM.png!web

MANIFEST.MF格式如下:

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

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

EFbQBvM.png!web

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

6nQjieQ.png!web

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

测试运行jar文件:

java -jar hello.jar

26veQzz.png!web

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK