zoukankan      html  css  js  c++  java
  • java打包的两种方式整理

    方式一、采用maven进行打包
    利用maven的package打包生命周期对项目进行打包。

    //cmd进入项目目录
    //先clean一下项目,主要是删除项目生成的一些项目文件,然后在用package进行打包
    mvn clean
    mvn package
    

    或者可以在idea中直接点击package一键打包。

    方式二、使用jar命令进行打包
    cmd进入项目目录输入以下命令

    //执行以下命令后会在当前目录生成一个warname.war
    jar -cvf warname.war ./*
    //有一个弊端就是把整个项目所有的文件都弄到了war里面了,体积巨大。
    
    //解压war包
    jar xvf warname.war
    

    jar{ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
    其中{ctxu}是jar命令的子命令,每次jar命令只能包含ctxu中的一个,它们分别表示:
    -c 创建新的JAR文件包
    -t 列出JAR文件包的内容列表
    -x 展开JAR文件包的指定文件或者所有文件
    -u 更新已存在的JAR文件包 (添加文件到JAR文件包中)

    [vfm0M]中的选项可以任选,也可以不选,它们是jar命令的选项参数
    -v 生成详细报告并打印到标准输出
    -f 指JAR文件名,通常这个参数是必须的
    -m 指定需要包含的MANIFEST清单文件
    -0 只存储,不压缩,这样产生的JAR文件包会比不用该参数产生的体积大,但速度更快
    -M 不产生所有项的清单(MANIFEST)文件,此参数会忽略-m参数

    [jar-文件] 即需要生成、查看、更新或者解开的JAR文件包,它是-f参数的附属参数 [manifest-文件] 即MANIFEST清单文件,它是-m参数的附属参数。

    [-C 目录] 表示转到指定目录下去执行这个jar命令的操作。它相当于先使用cd命令转该目录下再执行不带-C参数的 jar命令,它只能在创建和更新JAR文件包的时候可用。
    文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到JAR文件包中的文件/目录。如果指定了目录,那么 jar命令打包的时候会自动把该目录中的所有文件和子目录打入包中。

    参考博文: https://www.iteye.com/blog/feiteyizu-2242854

  • 相关阅读:
    4K
    4J
    4C
    I2C总线的仲裁机制
    Linux C中strcpy , strncpy , strlcpy 的区别
    Linux下的USB总线驱动(一)
    C/C++ 语言中的表达式求值
    const变量通过指针修改问题
    关于协议栈XDATA,内存溢出的小结
    Ubuntu安装ssh,及失败解决方案
  • 原文地址:https://www.cnblogs.com/jasonboren/p/12846873.html
Copyright © 2011-2022 走看看