zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    php+redis 学习 一 连接
    【转】什么是tcp
    什么是 lnmp 实现原理。
    gitlab wiki 500
    memcached 与 redis 的区别和具体应用场景
    选择 稳定的工作 还是 挑战的工作
    php 数组变成树状型结构
    虚拟机服务器更新时间
    Phalcon调试大杀器之phalcon-debugbar安装
    MySQL 中的数据类型介绍
  • 原文地址:https://www.cnblogs.com/jiaozi-li/p/5749187.html
Copyright © 2011-2022 走看看