Intellij IDEA 打包jar时需知

导出jar包##

Add Artifacts####

  1. File → Project Structure → Artifacts → + → jar → From modules with dependencies → 选择一个要执行的main方法。


    ![Uploading choice-mainclass_031803.png . . .]

选择主类:


choice-mainclass.png
  1. 选择manifest的位置:d:\idea\myproject\src,如果META-INF文件夹已经存在的话请删掉。

  2. 勾选build on make。

build on make.png
  1. 菜单栏 build -- make project (Ctrl + F9) 生成jar包。

  2. jar位于out文件夹下,具体目录参加第三步图中 Output directory

执行jar包##

进入到jar包所在目录下,命令行运行 java -jar ***.jar

java -jar firebase-upload.jar 

解决异常##

jar包中包含本地资源文件,执行jar文件时可能会提示 资源文件。
该项目中使用 resources/serviceAccoutKey.json,使用相对目录读取的话,导出jar包执行时找不到对应文件。

  1. 使用ClassLoader加载资源。
Thread.currentThread().getContextClassLoader().getResourceAsStream("serviceAccoutKey.json")
  1. 在Artifacts中配置:
    点击绿色+,选择Directory Content,然后添加 resources目录,该目录(及目录下文件)被添加。

    add-resources.png

  2. 再次导出jar包后执行,问题解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容