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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 第一范式、第二范式和第三范式「建议收藏」

    第一范式、第二范式和第三范式「建议收藏」数据库的范式概念:设计数据库是,需要遵循的一些规范,要遵循后边的范式要求,必须遵循前边的所有范式要求设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈梯次规范,越高的范式数据库冗余越小目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF)。…

    2022年5月23日
    40
  • Echache整合Spring缓存实例讲解「建议收藏」

    Echache整合Spring缓存实例讲解「建议收藏」Echache整合Spring缓存实例讲解

    2022年4月22日
    35
  • pycharm 2022.01.12 激活[最新免费获取]

    (pycharm 2022.01.12 激活)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    41
  • redis客户端连接(error) NOAUTH Authentication required「建议收藏」

    redis客户端连接(error) NOAUTH Authentication required「建议收藏」redis客户端连接成功,但是操作报异常——(error)NOAUTHAuthenticationrequired错误的含义是说你没有认证,说明没有使用密码连接查看密码:进入redis的安装目录(是安装目录的),查看redis.config文件viredis.config打开配置文件后,输入#requirepassfoobared(快速定位的命令)然后回车红框里的就是密码使用密码连接.

    2022年5月2日
    68
  • vue-router 多级路由redirect 重定向的问题

    vue-router 多级路由redirect 重定向的问题在做多级路由的时候遇到很多问题,虽然不难,但是如果没有经验,往往要花一整天时间才能解决(可能我笨),况且网上资料也很少。项目需要是这样的:登录页面跳到后台页面重定向,登录页是一级路由对应页面登录后:同时重定向二级和三级页面,这样登录就会重定向了,此时url但又有一个问题:当再次点击底部“堂食”的时候,url变成这样,并且三级页面没有出来解决办法是:在这个“堂食”按键添加一个方法记住,也只…

    2022年7月11日
    86
  • 解决java:找不到符号办法

    解决java:找不到符号办法有时候遇到自己的接口或者类明明在项目中,编译的时候就出现找不到符号,提示找不到就说明项目没有识别到,先检查下pom.xml文件没问题,移除moudle再重新导入,ReimportAllMaven.有问题的欢迎评论一起解决。…

    2022年7月8日
    25

发表回复

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

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