java command-line tool package

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

Write your own manifest.mf Note:

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

(1) extension must be .mf

(2) The last line of the file content must be a blank line (\ n)

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

 D:\java_oj\ReadFileFromClassPath\target 的目录

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 bytes
               7 directory 105,511,239,680 bytes available 

D: \ java_oj \ ReadFileFromClassPath \ target > CD .. 

D: \ java_oj \ ReadFileFromClassPath > the dir 
 drive D volume is software 
 Volume Serial Number is 6BDF - 6A2D 

 D: \ java_oj \ directory ReadFileFromClassPath

 20:45 2019/09/30 <the DIR>           .
 2019/09/30 20:45 <the DIR>           ..
 2019/09/30 20:26 1,517 the .classpath
 2019/09/30 20:26 573 .project
 2019/09 / 30 20:26 <the DIR>           .settings
 2019/09/30 20:35 37 [ inputFile
 2019/09/30 20:45 1,453 the pom.xml
20:26 2019/09/30 <the DIR>           the src
 2019/09/30 20:45 <the DIR>           target
                . 4 files of 3,580 bytes
                5 catalog 105,511,239,680 bytes available 

D: \ java_oj \ ReadFileFromClassPath > CD target 

D: \ java_oj \ ReadFileFromClassPath \ target > CD classes 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > the dir 
 drive D volume is software 
 volume serial number is 6BDF - 6A2D 

 D: \ java_oj \ ReadFileFromClassPath \ target \ classes directory

 2019/09 / 20:55 30 <the DIR>           .
 2019/09/30 20:55 <the DIR>           ..
 2019/09/30 20:45 37 [inputFile
 2019/09/30 20:55 0 the manifest
 2019/09/30 20:45 <the DIR>           testdemo
                2 files 37 bytes
                three directories 105,511,239,680 bytes available 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > JAR the manifest CMF testdemo.Demo example.jar 
testdemo.Demo: no such file or directory 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > JAR CMF the manifest example.jar \ testdemo \. 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > dir 
 drive D the volume is a software 
 volume serial number is 6BDF - 6A2D 

 D: \ java_oj \ ReadFileFromClassPath \ target \ classes directory

20:57 2019/09/30 <the DIR>           .
 2019/09/30 20:57 <the DIR>           ..
 2019/09/30 20:58 1,673 example.jar
 2019/09/30 20:45 37 [ inputFile
 2019/09 / 30 20:55 0 the manifest
 2019/09/30 20:45 <the DIR>           testdemo
                three files of 1,710 bytes
                three directories 105,511,235,584 bytes available 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > Java - JAR example.jar 
Example .jar no master list of attributes 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > cd .. 

D: \ java_oj \ ReadFileFromClassPath \ target >.. JAR CMF \ classes \ example.jar the manifest \ classes \ testdemo \ 

D: \ java_oj \ ReadFileFromClassPath \ target > the dir 
 drive D volume is software 
 Volume Serial Number is 6BDF - 6A2D 

 D: \ java_oj \ ReadFileFromClassPath \ target of directory

 2019/09/30 21:07 <the DIR>           .
 2019/09/30 21:07 <the DIR>           ..
 2019/09/30 20:57 <the DIR>           classes
 2019/09/30 21:07 1,705 example.jar
 20:45 2019/09/30 <the DIR> generated- Sources
 2019/09/30 20:45 <the DIR> maven- Archiver
 2019/09/30 20:45 <the DIR> maven- Status
20:45 3,509 ReadFileFromClassPath-0.0.1 2019/09/30-SNAPSHOT- fat.jar
 2019/09/30 20:45 3,310 ReadFileFromClassPath-0.0.1- SNAPSHOT.jar
 2019/09/30 20:45 <the DIR> Test - classes
                . 3 files 8,524 bytes
                7 catalog 105,511,231,488 bytes available 

D: \ java_oj \ ReadFileFromClassPath \ target > CD classes 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > . CMF JAR MANIFEST.MF result.jar \ testdemo \ 

D : \ java_oj \ ReadFileFromClassPath \ target \ classes > the dir 
 drive D volume is software 
 volume serial number is 6BDF - 6A2D

 D: \ java_oj \ ReadFileFromClassPath \ target \ classes directory

 2019/09/30 21:11 <the DIR>           .
 2019/09/30 21:11 <the 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 <the DIR>           testdemo
                three files 1,784 bytes
                three directories 105,511,231,488 bytes available 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > the Java - JAR result.jar 
Exception in the Thread "main" java.lang.NullPointerException 
        AT java.io.Reader. <the init> (the Source Unknown) 
        AT the java.io.InputStreamReader. <the init> (Unknown the Source) 
        AT testdemo.Demo.readFile (Demo.java: 18 is ) 
        AT testdemo.Demo.main (Demo.java: 25 ) 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > Jat TF result.jar
 'Jat' is not an internal or external command, operable program 
or batch file. 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > JAR TF result.jar 
META -INF / 
META -INF / the MANIFEST.MF 
testdemo / 
testdemo / Demo. Class
 
D: \ java_oj \ ReadFileFromClassPath \ target \ classes >.. CMF JAR MANIFEST.MF result.jar \ testdemo \ \ inputFile 

D: \ java_oj \ ReadFileFromClassPath \ target \ classes > the dir 
 drive D volume is software 
 Volume Serial Number is 6BDF - 6A2D 

 D: \ java_oj \ ReadFileFromClassPath \ target \ classes directory

 2019/09/30 21:11 <the DIR>           .
 2019/09/30 21:11 <the DIR>           ..
 2019/09/30 20:45 37 [ inputFile
 2019/09/30 21:10 50 the manifest. MF
 2019/09/30 21:14 1,846 result.jar
 2019/09/30 20:45 <the DIR>           testdemo
                three files of 1,933 bytes
                three directories 105,511,231,488 bytes available

D:\java_oj\ReadFileFromClassPath\target\classes>jar tf result.jar
META-INF/
META-INF/MANIFEST.MF
testdemo/
testdemo/Demo.class
inputFile

D:\java_oj\ReadFileFromClassPath\target\classes>java -jar result.jar
helloworld
what's is your name鍚嶅瓧

D:\java_oj\ReadFileFromClassPath\target\classes>java -jar -Dfile.encoding=utf-8 result.jar
helloworld
what's is your name名字

D:\java_oj\ReadFileFromClassPath\target\classes>

 

Guess you like

Origin www.cnblogs.com/CreatorKou/p/11614197.html