命令運行帶參數的jar

一.打包(此處用的是eclipse)java

代碼以下,此如引用了某博主的代碼,因忘記地址,如博主發現此文,可私信我node

  1 package com.example.Open;
  2 import java.io.File;
  3 import java.util.List;
  4 import org.dom4j.Document;
  5 import org.dom4j.DocumentException;
  6 import org.dom4j.Element;
  7 import org.dom4j.io.SAXReader;
  8 
  9 import net.sf.json.JSONArray;
 10 import net.sf.json.JSONObject;
 11 public class XmlToJson {
 12     
 13     /**
 14      * 
 15      * @author: jinzy
 16      * @date: 2018年7月18日下午5:39:20  
 17      * @description: 獲取xml文件 
 18      * @param xmlName
 19      * @return    設定文件  
 20      * Document    返回類型
 21      */
 22     public static Document getXml(String xmlName) {
 23         String fileDir = System.getProperty("user.dir");
 24         String xmlFile = fileDir + "/reports/"+xmlName+".xml";
 25         System.out.println("xmlFile:"+xmlFile);
 26         File file = new File(xmlFile);
 27         SAXReader reader = new SAXReader();
 28         Document doc = null;
 29         try {
 30             doc = reader.read(file);
 31         } catch (DocumentException e) {
 32             // TODO Auto-generated catch block
 33             e.printStackTrace();
 34         }
 35         return doc;
 36     }
 37 
 38     /**
 39      * 
 40      * @author: jinzy
 41      * @date: 2018年7月18日下午5:40:01  
 42      * @description: 將xml轉換爲JSON對象
 43      * @param xmlName
 44      * @return
 45      * @throws Exception    設定文件  
 46      * JSONObject    返回類型
 47      */
 48     public static JSONObject xmltoJson(String xmlName) throws Exception {
 49         JSONObject jsonObject = new JSONObject();
 50         //獲取根節點元素對象  
 51         Document document = getXml(xmlName);
 52         Element root = document.getRootElement();
 53         iterateNodes(root, jsonObject);
 54         return jsonObject;  
 55      }
 56     
 57     /**
 58      * 遍歷元素
 59      * @param node 元素
 60      * @param json 將元素遍歷完成以後放的JSON對象
 61      */
 62     public static void iterateNodes(Element node,JSONObject json){ 
 63         //獲取當前元素的名稱
 64         String nodeName = node.getName();
 65         //判斷已遍歷的JSON中是否已經有了該元素的名稱
 66         if(json.containsKey(nodeName)){
 67             //該元素在同級下有多個
 68             Object Object = json.get(nodeName);
 69             JSONArray array = null;
 70             if(Object instanceof JSONArray){
 71                 array = (JSONArray) Object;
 72             }else {
 73                 array = new JSONArray();
 74                 array.add(Object);
 75             }
 76             //獲取該元素下全部子元素 
 77             List<Element> listElement = node.elements();
 78             if(listElement.isEmpty()){
 79                 //該元素無子元素,獲取元素的值
 80                 String nodeValue = node.getTextTrim();
 81                 array.add(nodeValue);
 82                 json.put(nodeName, array);
 83                 return ;
 84             }
 85             //有子元素
 86             JSONObject newJson = new JSONObject();
 87             //遍歷全部子元素
 88             for(Element e:listElement){
 89                 //遞歸  
 90                 iterateNodes(e,newJson);
 91             }
 92             array.add(newJson);
 93             json.put(nodeName, array);
 94             return ;
 95         }
 96         //該元素同級下第一次遍歷
 97         //獲取該元素下全部子元素
 98         List<Element> listElement = node.elements();
 99         if(listElement.isEmpty()){
100             //該元素無子元素,獲取元素的值
101             String nodeValue = node.getTextTrim();
102             json.put(nodeName, nodeValue);
103             return ;
104         }
105         //有子節點,新建一個JSONObject來存儲該節點下子節點的值
106         JSONObject object = new JSONObject();
107         //遍歷全部一級子節點  
108         for(Element e:listElement){
109             //遞歸  
110             iterateNodes(e,object);
111         }
112         json.put(nodeName, object);
113     
114     }
115     
116     /**
117      * 測試的main方法
118      */
119     public static void main(String[] args) throws Exception {
120             JSONObject jsonObject = xmltoJson(args[0]);
121             System.out.println(jsonObject);
122     }
123 }

 

(1)工程名右擊,選擇「Export」json

(2)選擇「Runnable JAR file」dom

(3)選擇「Launch configuration」和jar要存放的路徑eclipse

(4)點擊「Finish」測試

二:運行spa

uacProdResult爲參數,多個參數用空格隔開code

相關文章
相關標籤/搜索