netbeans下将全部jar包打成一个,俗称fat jar[通俗易懂]

netbeans下将全部jar包打成一个,俗称fat jar

大家好,又见面了,我是全栈君。

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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115494.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 架构设计(1)-谈谈架构[通俗易懂]

    架构设计(1)-谈谈架构[通俗易懂]1、什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开…

    2022年7月11日
    17
  • Fiddler 实现手机抓包详解

    Fiddler 实现手机抓包详解1、Fiddler简介Fiddler是一款强大的抓包工具,原理是以web代理服务器的形式进行工作的:2、Fiddler配置2.1允许监听httpsFiddler如果抓取https协议会话需要进一步配置,在Tools->Options菜单下,选择HTTPS标签并配置如下:2.2允许远程连接手机抓取需要配置远程连接,在Tools->Options菜单下,选择Connections标签并配置如下:监听端口8888并允许远程连接防火墙需要开放

    2022年6月29日
    35
  • React项目的国际化

     最近做的react项目需要支持国际化,网上查了一下,发现一款很好的插件“react-intl-universal”,由阿里巴巴团队开发,这款插件是原先的国际化插件“react-intl”的升级版,“react-intl”因为一些“致命”缺陷现已被其取代,npm官网有罗列原因,有兴趣的可以去了解一下。下面具体介绍一下这款插件的使用方法。1.安装npminstallreact-i…

    2022年4月12日
    43
  • jQuery 文档操作 – remove() 方法

    jQuery 文档操作 – remove() 方法

    2021年10月17日
    72
  • 深蓝病毒关闭端口_445端口关闭方法

    深蓝病毒关闭端口_445端口关闭方法计算机被永恒之蓝感染后会出一些不明所以的问题,我电脑上不定时蓝屏,同事电脑上也是,网上搜索了解决方法,包括以下几种:1)使用360杀毒,记得用最新的版本。2)自己下windows对应补丁。3)关闭445端口。——————————————————-注意:(1)关闭了445端口要重启后才会…

    2022年10月17日
    2
  • Java神操作之利用Mybatis的resultMap的id标签进行分组映射「建议收藏」

    Java神操作之利用Mybatis的resultMap的id标签进行分组映射「建议收藏」SQL<!–分组测试–><selectid=”test”resultMap=”test”>select*frommall_shoppingcartwherecompany_id=”companyIdTest”</select>resultMap<resultMaptype=”co…

    2025年8月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号