zoukankan      html  css  js  c++  java
  • java命令行工具打包

      https://introcs.cs.princeton.edu/java/85application/jar/jar.html

    自己写的manifest.mf注意:

    https://blog.csdn.net/neareast/article/details/8875342

    (1)后缀名必须为.mf

    (2)文件内容的最后一行必须为空行( )

    java -jar -Dfile.encoding=utf-8 xx.jar

     D:java_ojReadFileFromClassPath	arget 的目录
    
    2019/09/30  20:45    <DIR>          .
    2019/09/30  20:45    <DIR>          ..
    2019/09/30  20:55    <DIR>          classes
    2019/09/30  20:45    <DIR>          generated-sources
    2019/09/30  20:45    <DIR>          maven-archiver
    2019/09/30  20:45    <DIR>          maven-status
    2019/09/30  20:45             3,509 ReadFileFromClassPath-0.0.1-SNAPSHOT-fat.jar
    2019/09/30  20:45             3,310 ReadFileFromClassPath-0.0.1-SNAPSHOT.jar
    2019/09/30  20:45    <DIR>          test-classes
                   2 个文件          6,819 字节
                   7 个目录 105,511,239,680 可用字节
    
    D:java_ojReadFileFromClassPath	arget>cd ..
    
    D:java_ojReadFileFromClassPath>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath 的目录
    
    2019/09/30  20:45    <DIR>          .
    2019/09/30  20:45    <DIR>          ..
    2019/09/30  20:26             1,517 .classpath
    2019/09/30  20:26               573 .project
    2019/09/30  20:26    <DIR>          .settings
    2019/09/30  20:35                37 inputFile
    2019/09/30  20:45             1,453 pom.xml
    2019/09/30  20:26    <DIR>          src
    2019/09/30  20:45    <DIR>          target
                   4 个文件          3,580 字节
                   5 个目录 105,511,239,680 可用字节
    
    D:java_ojReadFileFromClassPath>cd target
    
    D:java_ojReadFileFromClassPath	arget>cd classes
    
    D:java_ojReadFileFromClassPath	argetclasses>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath	argetclasses 的目录
    
    2019/09/30  20:55    <DIR>          .
    2019/09/30  20:55    <DIR>          ..
    2019/09/30  20:45                37 inputFile
    2019/09/30  20:55                 0 manifest
    2019/09/30  20:45    <DIR>          testdemo
                   2 个文件             37 字节
                   3 个目录 105,511,239,680 可用字节
    
    D:java_ojReadFileFromClassPath	argetclasses>jar cmf manifest example.jar testdemo.Demo
    testdemo.Demo: 没有这个文件或目录
    
    D:java_ojReadFileFromClassPath	argetclasses>jar cmf manifest example.jar .	estdemo
    
    D:java_ojReadFileFromClassPath	argetclasses>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath	argetclasses 的目录
    
    2019/09/30  20:57    <DIR>          .
    2019/09/30  20:57    <DIR>          ..
    2019/09/30  20:58             1,673 example.jar
    2019/09/30  20:45                37 inputFile
    2019/09/30  20:55                 0 manifest
    2019/09/30  20:45    <DIR>          testdemo
                   3 个文件          1,710 字节
                   3 个目录 105,511,235,584 可用字节
    
    D:java_ojReadFileFromClassPath	argetclasses>java -jar example.jar
    example.jar中没有主清单属性
    
    D:java_ojReadFileFromClassPath	argetclasses>cd ..
    
    D:java_ojReadFileFromClassPath	arget>jar cmf .classesmanifest example.jar .classes	estdemo
    
    D:java_ojReadFileFromClassPath	arget>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath	arget 的目录
    
    2019/09/30  21:07    <DIR>          .
    2019/09/30  21:07    <DIR>          ..
    2019/09/30  20:57    <DIR>          classes
    2019/09/30  21:07             1,705 example.jar
    2019/09/30  20:45    <DIR>          generated-sources
    2019/09/30  20:45    <DIR>          maven-archiver
    2019/09/30  20:45    <DIR>          maven-status
    2019/09/30  20:45             3,509 ReadFileFromClassPath-0.0.1-SNAPSHOT-fat.jar
    2019/09/30  20:45             3,310 ReadFileFromClassPath-0.0.1-SNAPSHOT.jar
    2019/09/30  20:45    <DIR>          test-classes
                   3 个文件          8,524 字节
                   7 个目录 105,511,231,488 可用字节
    
    D:java_ojReadFileFromClassPath	arget>cd classes
    
    D:java_ojReadFileFromClassPath	argetclasses>jar cmf manifest.mf result.jar .	estdemo
    
    D:java_ojReadFileFromClassPath	argetclasses>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath	argetclasses 的目录
    
    2019/09/30  21:11    <DIR>          .
    2019/09/30  21:11    <DIR>          ..
    2019/09/30  20:45                37 inputFile
    2019/09/30  21:10                50 manifest.mf
    2019/09/30  21:11             1,697 result.jar
    2019/09/30  20:45    <DIR>          testdemo
                   3 个文件          1,784 字节
                   3 个目录 105,511,231,488 可用字节
    
    D:java_ojReadFileFromClassPath	argetclasses>java -jar result.jar
    Exception in thread "main" java.lang.NullPointerException
            at java.io.Reader.<init>(Unknown Source)
            at java.io.InputStreamReader.<init>(Unknown Source)
            at testdemo.Demo.readFile(Demo.java:18)
            at testdemo.Demo.main(Demo.java:25)
    
    D:java_ojReadFileFromClassPath	argetclasses>jat tf result.jar
    'jat' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    
    D:java_ojReadFileFromClassPath	argetclasses>jar tf result.jar
    META-INF/
    META-INF/MANIFEST.MF
    testdemo/
    testdemo/Demo.class
    
    D:java_ojReadFileFromClassPath	argetclasses>jar cmf manifest.mf result.jar .	estdemo .inputFile
    
    D:java_ojReadFileFromClassPath	argetclasses>dir
     驱动器 D 中的卷是 软件
     卷的序列号是 6BDF-6A2D
    
     D:java_ojReadFileFromClassPath	argetclasses 的目录
    
    2019/09/30  21:11    <DIR>          .
    2019/09/30  21:11    <DIR>          ..
    2019/09/30  20:45                37 inputFile
    2019/09/30  21:10                50 manifest.mf
    2019/09/30  21:14             1,846 result.jar
    2019/09/30  20:45    <DIR>          testdemo
                   3 个文件          1,933 字节
                   3 个目录 105,511,231,488 可用字节
    
    D:java_ojReadFileFromClassPath	argetclasses>jar tf result.jar
    META-INF/
    META-INF/MANIFEST.MF
    testdemo/
    testdemo/Demo.class
    inputFile
    
    D:java_ojReadFileFromClassPath	argetclasses>java -jar result.jar
    helloworld
    what's is your name鍚嶅瓧
    
    D:java_ojReadFileFromClassPath	argetclasses>java -jar -Dfile.encoding=utf-8 result.jar
    helloworld
    what's is your name名字
    
    D:java_ojReadFileFromClassPath	argetclasses>
  • 相关阅读:
    [学习笔记] 网络最大流的HLPP算法
    [学习笔记] LCT 初步
    js中函数的原型及继承
    关于js中函数的一点总结
    关于css实现水平及垂直居中的方法记录
    js基础总结03 --操作数组
    近期学习es6后对变量提升及let和const的一点思考
    用css和js实现侧边菜单栏点击和鼠标滑动特效
    用css或js实现文本输入框的特效
    Jmeter怎样打印日志
  • 原文地址:https://www.cnblogs.com/CreatorKou/p/11614197.html
Copyright © 2011-2022 走看看