具体代码如下:

private String javaClassPath = "";private byte[] readerBuffer = new byte[4096];private void addFileToJar(File source, JarOutputStream target) throws IOException{BufferedInputStream in = null;try{if (source.isDirectory()){for (File nestedFile : source.listFiles()){addFileToJar(nestedFile, target);}return;}String middleName = source.getPath().replace("\\", "/").substring(javaClassPath.length());if (middleName.startsWith("/")){middleName = middleName.substring(1);}JarEntry entry = new JarEntry(middleName);entry.setTime(source.lastModified());target.putNextEntry(entry);in = new BufferedInputStream(new FileInputStream(source));while (true){int count = in.read(readerBuffer);if (count == -1){break;}target.write(readerBuffer, 0, count);}target.closeEntry();}finally{if (in != null){in.close();}}}void create(final String jarDataDir, final String destDir, final File jarSrc){try{String jarName = jarSrc.getAbsolutePath();jarName = jarName.substring(jarName.lastIndexOf('\\')+1);jarName = destDir + File.separator + jarName;javaClassPath = jarDataDir;//Manifest manifest = new Manifest();//manifest.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1.0");//JarOutputStream target = new JarOutputStream(new FileOutputStream(destJarFile), manifest);JarOutputStream target = new JarOutputStream(new FileOutputStream(jarName));addFileToJar(new File(javaClassPath), target);target.close();}catch (Exception e){e.printStackTrace();}}

本文假设目录下已有Manifest;也可以使用注释中的代码。能不能指定某个文件呢?还真没找到办法。

使用代码把一个目录打包成jar相关推荐

  1. 如何把一个项目打包成jar包并运行

    1.基于jdk环境,使用Eclipse 2.首先建立一个简单的案例,去maven官网下载fastjson.jar并导入(本案例中使用JSONArray()方法) 3.右键整个项目,选择Build Pa ...

  2. idea中将java项目中的单个类打包成jar包

    文章目录 打包jar包 导入jar包使用 JAR文件的全称是Java Archive File,即Java档案文件.JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包.JAR文件与z ...

  3. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  4. springboot导包显示不存在_BOOT项目依赖另外一个模块的包,开发的时候都正常,执行clean package打包成jar时却提示依赖的模块包不存在。...

    我在service1模块里依赖了common模块,开发的时候包都能正常引用到,启动也能正常测试访问,可是奇怪的是,当我要打包成jar包时,就提示service1里依赖common的包都不存在,之前从没 ...

  5. java代码执行 打包jar_Java程序打包成jar文件包并执行的方法

    这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自 ...

  6. 将Spring Boot项目打包成jar包war包

    任务一:将Spring Boot项目打包成jar包 1.在pom.xml文件中添加依赖 2.通过cmd命令行来进行打包jar包(首先进入项目的目录中) 3.进入项目中的target目录下查看包 4.使 ...

  7. linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...

    哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...

  8. [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目

    (1)项目导入JAR包: 1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面. 2.右键点击项目,Bulid Path->Configure Build Path 3.在设置Libr ...

  9. 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的

    在IDEA中将SpringBoot项目打包成jar包的方法 2018年03月07日 10:43:52 叶叶叶叶大爷 阅读数 71375 版权声明: https://blog.csdn.net/qq_3 ...

  10. maven打包成jar文件与打包成tar.gz文件

    一.普通main方法入口的jar程序打包 maven-jar-plugin插件与maven-jar-plugin插件 用到maven-jar-plugin插件与maven-jar-plugin插件,打 ...

最新文章

  1. NAR:UNITE真菌鉴定ITS数据库——处理未分类和并行分类(数据库文章阅读模板)
  2. 浅析枚举类型(Enumerated types)
  3. CSP认证201312-5 I’m stuck![C++题解]:dfs、两次dfs
  4. wxWidgets:创建一个 Frame
  5. 计算机组成原理中wr是什么,计算机组成原理复习例题.doc
  6. 字符串使用与内部实现原理
  7. HDU-1233-还是畅通工程(最小生成树)
  8. 《恋上数据结构第1季》动态扩容数组原理及实现
  9. 如何使用 Mac 的通知中心?
  10. python采用强制自动缩进使代码具有极佳的可读性_Python的详细介绍
  11. 拓端tecdat|Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load(file, DLLpath = DLLpath,
  12. SMT32F767通过STM32CUBE HAL库配置QSPI和W25Q256驱动
  13. ftp登录常用命令和工作模式简介
  14. VS2017安装CLR
  15. podman配置加速器、harbor镜像仓库部署
  16. 启用计算机上的无线,如何使用命令提示符打开或关闭计算机上的wifi
  17. 李沐动手学深度学习v2/总结3
  18. 项目初始化及文件配置-黑马头条PC
  19. 自己做量化交易软件(10)通通量化AI框架的数据获取与格式
  20. C++ Eigen 库中旋转向量、旋转矩阵、欧拉角、四元数的定义及互相转换

热门文章

  1. apache 禁用rc4_如何在Apache中禁用过时的TLS和SSL版本
  2. Ubuntu20.04下使用C++ OpenCV单应性矩阵
  3. oracle 高速保存数据,教你怎样在Oracle数据库中高速导出/导入(一)
  4. py加PHP,浅谈PHP运行Python脚本的方法
  5. dram和nand哪个难生产_终于有人说清楚了什么是DRAM、什么是NAND Flash
  6. nsa php版本,mnsa网络
  7. 拿到offer怕查学历不敢去_《令人心动的offer》— 我们法庭见
  8. vi测试仪维修成功率高吗?_老客户维护难,转介绍更难,这16个问题你做到了吗?...
  9. idea全局主题_2020年最新-IDEA最详细配置(配图文收藏版配置)
  10. java堆空间此许可证无效_关于jvm:Java无法为对象堆错误保留足够的空间