Idea 相对于 Eclipse 开发 java 确实有质的飞跃。但也不意味着 Eclipse 一无是处。在 Eclipse 中对一个包目录打jar包异常的简单,使用 File -> Export “导出”功能,就可以方便地把一个目录打成 Jar 包,可是在 Idea 中却非常的麻烦。开整:
1、下图不需要教学
2、按下图选择一个模块,并勾选 copy ... manifest ... 选项
3、删除下图红框中的 ****** compile output 项目,这个是“全部编译结果”的含义,不需要,因为我们需要的是某一个目录的代码包。
4、在绿框选中的项目下,添加一个“文件夹”,记住是“文件夹”。文件夹的目录,就是“包”的目录。
5、文件夹创建成功以后,如下图,确保鼠标选中最后一个文件夹。
6、在上面的“+”号中添加一项 “Directory Content” ,选择编译目录下的指定文件夹,切记,是编译目录,一般情况下是指 build 目录下的 classes 文件夹下的目录,即包路径。
7、完成上述步骤后,如下图所示,请确保路径的所属关系。
至此,配置单独打包指定路径的jar已经完成。生成 jar 包就是水到渠成的事了。
Build -> Build Artifacts ... 刚才的配置已经出现在列表中:
选择 Action 中的 Build 命令后,在 out 文件及下就可以找到符合预期的 jar 包了。
其实,idea完全可以实现自动化完成这些工作,不知道为什么搞的这么麻烦。
批量打包的特别补充:如果相对一个项目中不同的路径,批量打成在控制台运行的jar包,即需要有入口main函数的jar包。则需要在上述步骤中选中系统生成的jar包,如下图。
同时对这个jar包指定一个MANIFEST.MF清单文件。记住:如果有多个jar包,需要创建多个清单文件,放在不同目录下。更重要要的是:清单文件的路径和文件名一定要全部大写,文件名一定是"MANIFEST.MF",一个字母都不能错。这个清单文件的定义也非常简单,只是定义这个入口main函数所在的类而已,比如:
Manifest-Version: 1.0 Main-Class: com.eagsen.foundation.aes.machine.MainClass