cmd運行java,含傳參,引用jar


1,創建一個java project,完成編碼

在Eclipse的資源管理器中選中你要打包的項目,右鍵點擊,選擇“導出”項,彈出導出對話框,在下面的Java目錄下選擇“JAR 文件”項,下一步,在導出目標路徑TextField框中輸入你想保存的路徑,單擊“完成”。 

 

 

 1 package com.lxl.it.test;
 2 
 3 import org.apache.commons.net.ftp.FTP;
 4 import org.apache.commons.net.ftp.FTPClient;
 5 import org.apache.commons.net.ftp.FTPFile;
 6 
 7 public class TestFtp1 {
 8     public static void main(String[] args) throws Exception {
 9         FTPClient ftpclient = new FTPClient();
10         // String host = "10.202.33.210";
11         // Integer port = 21;
12         // String user = "hht";
13         // String password = "hht";
14         // String path="/HHT/hht5picture/CUR/991406990562/";
15 
16         String host = args[0];//"10.202.4.80";
17         Integer port = Integer.valueOf(args[1]);//21;
18         String user = args[2];//"lixiaolong";
19         String password = args[3];//"sf123456";
20         String path = args[4];//"/home/lixiaolong/SUCC/963123456789";
21         String character = args[5];//ISO-8859-1
22         String swit = args[6];//ISO-8859-1
23         // FTP連接
24         ftpclient.connect(host, port);
25         // FTP登陸
26         ftpclient.login(user, password);
27         FTPFile[] files = null;
28         // ftpclient.setFileType(FTP.ASCII_FILE_TYPE);
29         ftpclient.setFileType(FTP.BINARY_FILE_TYPE);
30         // ftp服務器接收數據為被動模式,需要客戶端主動鏈接服務端后才進行傳輸
31         ftpclient.enterLocalPassiveMode();
32         // 設定ftp傳輸模式為字符流模式
33         ftpclient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
34         // 檢查文件是否存在,若不存在則返回false
35         ftpclient.changeWorkingDirectory(path);
36         files = ftpclient.listFiles();
37         for (FTPFile ftpFile : files) {
38             String fileName = ftpFile.getName();
39             if("1".equals(swit)){
40                 fileName = new String(fileName.getBytes(character), "UTF-8");
41             }
42             System.out.println(fileName);
43         }
44     }
45 }
View Code

 

 



2,

進入Step1中保存jar文件的目錄下,用壓縮文件管理器打開jar文件,進入META-INF\目錄下,打開MINIFEST.MF文件,對MINIFEST.MF文件進行編寫,格式如下:  
 
        
請在文本格式下編寫,每個空處只有一個空格,文本不能多余兩個空行
Manifest-Version: 1.0 告訴我們使用的是1.0的manifest文件,第一行定義manifest的格式 
 
        
Main-Class: 主程序入口類名(注意:如果主程序帶包,main函數在com包下的test.java中,則寫如:com.test
 
        
Class-Path: 引用包路徑,包之間空格隔開(lib是和test.jar同目錄的一個子目錄,test.jar要引用的some.jar包就在這里面。例如:Class-Path: lib/some.jar lib/some2.jar
 
        
Created-By: 創建者信息
注意冒號后面有一個空格
 
        
Manifest-Version: 1.0

Main-Class: com.lxl.it.test.TestFtp1

Class-Path: lib/commons-net-current.jar

3
建立批處理文件.bat或.cmd如下start.cmd:  cmd中開啟jar程序命令:  java -jar testCmd4.jar

java -jar testCmddata2.jar "10.202.4.80" 21 "lixiaolong" "sf123456" "/home/lixiaolong/SUCC/963123456789" "ISO-8859-1"  “0”







bat
新建txt 輸入如下類容,改后綴為bat文件 另起一行輸入pause防止批處理完成后立即關閉

java -jar d:/test/123/FTP/testCmddata2.jar "10.202.4.80" 21 "lixiaolong" "sf123456" "/home/lixiaolong/SUCC/963123456789" "ISO-8859-1"  “0”

如果需要把程序打包成jar文件,並且該jar文件依賴了比較多的第三方jar包,手動操作些MANIFEST.MF會出現比較多的問題,需要注意:

1 在Class-Path中指明依賴的jar包,如果jar文件存放在lib目錄下存在兩種放置方式:

   a 如果是在你的jar文件中打入了lib目錄,則Class-Path中指明的目錄是lib/2.jar lib/2.jar 

   b 如果是在你的jar文件所在目錄平級存放lib目錄,與把lib放入jar文件一樣,都是在Class-Path中指明的目錄是lib/2.jar lib/2.jar 

2 如果使用eclipse打包並選擇已存在的MANIFEST.MF文件時,行不能過長,否則報錯。這時你需要換行,換行是需要注意:

   a 新行的開頭使用空格,不能直接頂格

   b jar文件行尾需要有空格,即需要保證jar文件前后都有空格,如“ lib/1.jar "

3 MANIFEST.MF文件寫完后需要連續兩行回車,並且新行需要頂格


Class-Path: lib/httpclient-4.2.3.jar
 lib/commons-logging.jar
 lib/commons-codec-1.4.jar
 lib/commons-httpclient.jar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM