使用代码把一个目录打包成jar
具体代码如下:
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相关推荐
- 如何把一个项目打包成jar包并运行
1.基于jdk环境,使用Eclipse 2.首先建立一个简单的案例,去maven官网下载fastjson.jar并导入(本案例中使用JSONArray()方法) 3.右键整个项目,选择Build Pa ...
- idea中将java项目中的单个类打包成jar包
文章目录 打包jar包 导入jar包使用 JAR文件的全称是Java Archive File,即Java档案文件.JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包.JAR文件与z ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- springboot导包显示不存在_BOOT项目依赖另外一个模块的包,开发的时候都正常,执行clean package打包成jar时却提示依赖的模块包不存在。...
我在service1模块里依赖了common模块,开发的时候包都能正常引用到,启动也能正常测试访问,可是奇怪的是,当我要打包成jar包时,就提示service1里依赖common的包都不存在,之前从没 ...
- java代码执行 打包jar_Java程序打包成jar文件包并执行的方法
这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自 ...
- 将Spring Boot项目打包成jar包war包
任务一:将Spring Boot项目打包成jar包 1.在pom.xml文件中添加依赖 2.通过cmd命令行来进行打包jar包(首先进入项目的目录中) 3.进入项目中的target目录下查看包 4.使 ...
- linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...
哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...
- [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
(1)项目导入JAR包: 1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面. 2.右键点击项目,Bulid Path->Configure Build Path 3.在设置Libr ...
- 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的
在IDEA中将SpringBoot项目打包成jar包的方法 2018年03月07日 10:43:52 叶叶叶叶大爷 阅读数 71375 版权声明: https://blog.csdn.net/qq_3 ...
- maven打包成jar文件与打包成tar.gz文件
一.普通main方法入口的jar程序打包 maven-jar-plugin插件与maven-jar-plugin插件 用到maven-jar-plugin插件与maven-jar-plugin插件,打 ...
最新文章
- NAR:UNITE真菌鉴定ITS数据库——处理未分类和并行分类(数据库文章阅读模板)
- 浅析枚举类型(Enumerated types)
- CSP认证201312-5 I’m stuck![C++题解]:dfs、两次dfs
- wxWidgets:创建一个 Frame
- 计算机组成原理中wr是什么,计算机组成原理复习例题.doc
- 字符串使用与内部实现原理
- HDU-1233-还是畅通工程(最小生成树)
- 《恋上数据结构第1季》动态扩容数组原理及实现
- 如何使用 Mac 的通知中心?
- python采用强制自动缩进使代码具有极佳的可读性_Python的详细介绍
- 拓端tecdat|Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load(file, DLLpath = DLLpath,
- SMT32F767通过STM32CUBE HAL库配置QSPI和W25Q256驱动
- ftp登录常用命令和工作模式简介
- VS2017安装CLR
- podman配置加速器、harbor镜像仓库部署
- 启用计算机上的无线,如何使用命令提示符打开或关闭计算机上的wifi
- 李沐动手学深度学习v2/总结3
- 项目初始化及文件配置-黑马头条PC
- 自己做量化交易软件(10)通通量化AI框架的数据获取与格式
- C++ Eigen 库中旋转向量、旋转矩阵、欧拉角、四元数的定义及互相转换
热门文章
- apache 禁用rc4_如何在Apache中禁用过时的TLS和SSL版本
- Ubuntu20.04下使用C++ OpenCV单应性矩阵
- oracle 高速保存数据,教你怎样在Oracle数据库中高速导出/导入(一)
- py加PHP,浅谈PHP运行Python脚本的方法
- dram和nand哪个难生产_终于有人说清楚了什么是DRAM、什么是NAND Flash
- nsa php版本,mnsa网络
- 拿到offer怕查学历不敢去_《令人心动的offer》— 我们法庭见
- vi测试仪维修成功率高吗?_老客户维护难,转介绍更难,这16个问题你做到了吗?...
- idea全局主题_2020年最新-IDEA最详细配置(配图文收藏版配置)
- java堆空间此许可证无效_关于jvm:Java无法为对象堆错误保留足够的空间