netbeans的java项目中。默认会将配置好的外部引用jar包,复制到dist文件夹的lib文件夹中去。假设须要公布出去。就须要将dist文件夹生成的jar和lib文件夹都拷贝出去公布,不方便。

有非常多办法能够将全部须要的jar合成一个,俗称fat jar。

较简单的办法是改动 build.xml文件

注意默认的build.xml里面有一些凝视,当中有一行:

-post-jar:                 called after JAR building  在jar编译完毕之后调用

于是在build.xml的 project节点的最后,添加一点内容:

<target name="-post-jar"> 

   <jar destfile="./dist/终于合成的fat_jar包.jar"> 

      <zipfileset src="./dist/lib/依赖的第三方包1.jar"/> 

      <zipfileset src="./dist/lib/依赖的第三方包2.jar"/> 

<!--      <zipfileset src="${reference.SubProject.jar}"/>  假设依赖其它project,在此增加-->



      <!--Include the main project dist jar...standard NB var--> 

      <zipfileset src="${dist.jar}"/> 

   </jar> 

</target>

然后正常使用build。clean and build功能。就会在dist文件夹下生成合成的fat jar包。

可是直接这样生成的jar包,会出现一个问题:

当用java -jar xxx.jar运行时,会报:

no main manifest attribute, in xxx.jar

因为这样打jar包。丢失了manifest信息。

解决的方法:

添加一些内容:在      <zipfileset src="${dist.jar}"/> 这一行以下

<manifest >

            <attribute name="Main-Class" value="xxx.Xxx"/>

        </manifest>

当中xxx.Xxx能够抄原生jar文件里的manifest中的Main-Class的值就可以。

又一次Clean and Build,  all set.

netbeans下将全部jar包打成一个,俗称fat jar的更多相关文章

  1. Maven将依赖的所有jar包打成一个jar

    有些特殊情况下,需要将多个jar包打包成一个jar文件.如果使用maven可以加入如下插件: <build> <plugins> <plugin> <arti ...

  2. java项目打成jar包时引用了第三方jar,此时我们该如何解决呢

    Web项目做多了,反而对单纯的java项目陌生了,今天我们在开发项目的过程中,碰到一个这样的需求:需要将java项目放到linux系统上跑起来,当然这个javaSE项目是带main方法的.我们知道在I ...

  3. 修改jar包配置文件的正确操作,jar包解压出来的文件夹重新打成jar,不依靠开发工具!!!!

    修改jar包配置文件的正确操作,有的时候通过一些解压工具可以对内部的文件进行修改,但是有时候会无效.这就很烦了 一.背景:       有一个springboot项目,事先我已经用编译好打成jar包以 ...

  4. 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)

    一.当eclispe java工程中没有引用外部jar包时: 选中工程---->右键,Export...--->Java--->JAR file--->next-->填写 ...

  5. 为什么项目的jar包会和tomcat的jar包冲突?

    为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有 ...

  6. (转)Maven依赖的jar包下载不了、jar更新不了的解决办法

    场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可 ...

  7. 使用IDEA导出可运行的jar包,包含引用第三方jar包

    这里我使用的第三方jar包是数据库的JDBC jar包导出案例. 1.创建一个Module,名称为dataBase,在里面我们先创建一个folder用来包含所需要的jar包,命名为lib 2.从外界复 ...

  8. @ResponseBody 返回json字符串的核心类是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter,它使用了Jackson 这个开源的第三方类库。主要是以下两个jar包:jackson-core-asl-1.6.4.jar;jackson-mapper-asl-1.6.4.jar

    @ResponseBody 返回json字符串的核心类是org.springframework.http.converter.json.MappingJacksonHttpMessageConvert ...

  9. android 自己制作Jar包 和 修改 现成的 Jar包文件

    先看如何创建自己的 Jar 包 里面随便写个方法 public int add(int a,int b){ return (a+b); } task makeJar(type: Copy) { del ...

随机推荐

  1. UIcollectionView的使用(首页的搭建4)

    2.5 头部视图

  2. 让QT编译快一点(增加基础头文件)

    姚冬,中老年程序员 进藤光.杨个毛.欧阳修 等人赞同 我是来反对楼上某些答案的.我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验.纠正 ...

  3. C语言考试第一题详细过程

    1.计算 ,并输出其结果. 思路是先设计一个函数计算阶乘,再用循环,逐个求和. #include<stdio.h> int mul(int n) { int num,i; num=; ;i ...

  4. Android 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

  5. [译]GotW #3: Using the Standard Library (or, Temporaries Revisited)

    高效的代码重用是良好的软件工程中重要的一部分.为了演示如何更好地通过使用标准库算法而不是手工编写,我们再次考虑先前的问题.演示通过简单利用标准库中已有的算法来避免的一些问题. Problem JG Q ...

  6. 【Python】代码行数统计

    两级目录,可扩展为N级. # Count the line of dir or file import os, fnmatch, fileinput def ChkFileType(lst): tmp ...

  7. 结构体dfield_t

    /* SQL data field struct */ typedef struct dfield_struct dfield_t; /** Structure for an SQL data fie ...

  8. 转自 z55250825 的几篇关于FFT的博文(三)

    题目大意:给出n个数qi,定义 Fj为        令 Ei=Fi/qi,求Ei.      其实这道题就是看到有FFT模板才觉得有必要学一下的...    所以实际上就是已经知道题解了... = ...

  9. 在 Windows Azure 上部署并定制化 FreeBSD 虚拟机镜像

     发布于 2014-12-11 作者 陈阳 FreeBSD 基础镜像现已登陆中国的 VM Depot! 对于青睐 BSD 而非 Linux 的开源爱好者来说,这无疑是个好消息.同时,随着该基础镜像 ...

  10. 步步为营 SharePoint 开发学习笔记系列总结

    转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...