`
bzqgo
  • 浏览: 8424 次
社区版块
存档分类
最新评论

制作java 批处理运行文件

 
阅读更多

批处理 bat文件制作



@echo 1. 配置好环境变量后,运行


@set classpath=%classpath%;.;.\lib\*;

@set PATH=%JAVA_HOME%\bin;%PATH%;
@java -server -Xms256m -Xmx1024m ImportCVE
@if errorlevel 1 (
@echo ----------------------------------------------
@echo   ****错误***: 请设置好JAVA_HOME环境变量再运行或者检查你的classpath路径
@pause
)

:end


java文件 (执行main方法)


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
import org.elasticsearch.action.bulk.BulkRequestBuilder;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;

public class ImportCVE {
	public  static Client getClient() {
		   return      new TransportClient().addTransportAddress(new InetSocketTransportAddress("10.56.4.41", 9300));
		}
	
	//创建索引
	public void createCVEIndex(String index,String type) throws IOException{
			getClient().admin().indices().prepareCreate(index).execute().actionGet(); 
		//索引主事件
			XContentBuilder mapping = null;
		
				mapping = XContentFactory.jsonBuilder()  
				           .startObject()  
				             .startObject(type) 
				            //   .startObject("settings").startObject("_source")  
				             .startObject("_id").field("path","id").field("store", "yes").field("index", "not_analyzed").endObject()
				             .startObject("properties")         
									.startObject("name").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()  
									.startObject("status").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()  
									.startObject("description").field("type", "string").field("store", "no").endObject()  
									.startObject("references").field("type", "string").field("store", "no").endObject()  
									.startObject("phase").field("type", "string").field("store", "no").endObject()  
									.startObject("votes").field("type", "string").field("store", "no").endObject()  
									.startObject("comments").field("type", "string").field("store", "no").endObject()  

				             .endObject()  
				            .endObject()  
				          .endObject();
	     PutMappingRequest mappingRequest = Requests.putMappingRequest(index).type(type).source(mapping);  
	     getClient().admin().indices().putMapping(mappingRequest).actionGet();  
//	     client.close();
	}

    public static String getValue(XSSFCell cell){
        if(cell==null)
      	  return "";
        return cell.getStringCellValue();
      	
      }
	private void saveToCVEIndex(String index, String type,File file) throws IOException {
		InputStream is = new FileInputStream(file);

		XSSFWorkbook hssfWorkbook = new XSSFWorkbook(is);
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		XSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);

		XSSFRow hssfRow;
		XSSFCell xh;

		// 第3个sheet
		hssfSheet = hssfWorkbook.getSheetAt(0); // 每天上报数据
  System.out.println("总行数"+hssfSheet.getLastRowNum());
		// 分两部分, 前半部分 数据转换封装
	Client	cli= getClient();
	BulkRequestBuilder bulkRequest = cli.prepareBulk();
		int i = 0;
			for (int rowNum = 0; rowNum <=hssfSheet.getLastRowNum(); rowNum++) {
			
		//	for (int rowNum = 10; rowNum <= 10000; rowNum++) {
			hssfRow = hssfSheet.getRow(rowNum);

		/*	CommonVulnerabilitiesExposures commonVulnerabilitiesExposures=new  CommonVulnerabilitiesExposures();
 

			commonVulnerabilitiesExposures.setName(getValue(hssfRow.getCell(0)));
			commonVulnerabilitiesExposures.setStatus(getValue(hssfRow.getCell(1)));
		   	commonVulnerabilitiesExposures.setDescription(getValue(hssfRow.getCell(2))); 
			commonVulnerabilitiesExposures.setReferences(getValue(hssfRow.getCell(3)));
			commonVulnerabilitiesExposures.setPhase(getValue(hssfRow.getCell(4)));
			commonVulnerabilitiesExposures.setVotes(getValue(hssfRow.getCell(5)));
		  	commonVulnerabilitiesExposures.setComments(getValue(hssfRow.getCell(6)));*/
		  	Map<String, Object> o = new HashMap<String, Object>();
			o.put("name", getValue(hssfRow.getCell(0)));
			o.put("status",getValue(hssfRow.getCell(1)));
			o.put("description",getValue(hssfRow.getCell(2)));
			o.put("references",getValue(hssfRow.getCell(3)));
			o.put("phase", getValue(hssfRow.getCell(4)));
			o.put("votes", getValue(hssfRow.getCell(5)));
			o.put("comments", getValue(hssfRow.getCell(6)));
		  	
			 bulkRequest.add(cli.prepareIndex(index,type)  
					                                .setSource(o));  
					                     
					            
					            
			//cli.prepareIndex(index,type).setSource(o).execute();
			
			if(rowNum%1000==0|| rowNum == hssfSheet.getLastRowNum())
			{
		        BulkResponse resp = bulkRequest.execute().actionGet();  
		        System.out.println(rowNum+"  "+resp);
				cli.close();
			cli=getClient();
			bulkRequest = cli.prepareBulk();
				
			}
		}
		
	}
    public void  deleteindex(String index){
    	
    	
        
        
        DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(index);
        deleteIndexRequest.listenerThreaded(false);
        getClient().admin().indices().delete(deleteIndexRequest); 

    	
    }
    
    public void  deletedata(String index, String type){
    	
    	
        
        
        DeleteResponse response =  getClient().prepareDelete(index,type, "AVILx1OATt0HqWzvaooe")   
                .execute()   
                .actionGet();  

    	
    }
    
	public void createCVEIndexShijian(String index,String type) throws IOException{
		
		
		getClient().admin().indices().prepareCreate(index).execute().actionGet(); 
	//索引主事件
		XContentBuilder mapping = null;
	
		
			mapping = XContentFactory.jsonBuilder()  
			           .startObject()  
			             .startObject(type) 
			            //   .startObject("settings").startObject("_source")  
			             .startObject("_id").field("path","id").field("store", "yes").field("index", "not_analyzed").endObject()
			             .startObject("properties")         
							
								
								
								.startObject("solution").field("type", "string").field("store", "no").endObject()  
								.startObject("description").field("type", "string").field("store", "no").endObject()
								.startObject("keyword").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()  
									.startObject("eventname").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()  
			             .endObject()  
			            .endObject()  
			          .endObject();
     PutMappingRequest mappingRequest = Requests.putMappingRequest(index).type(type).source(mapping);  
     getClient().admin().indices().putMapping(mappingRequest).actionGet();  
//     client.close();
}

    
	public static void main(String[] args) throws IOException {
		Scanner s=new Scanner(System.in);
		String name=s.next();
		System.out.println("开始导入CVE数据");
		//修改 es 地址
		ImportCVE client = new ImportCVE();
	   String  indexcve="cve";
	//   String  indexeventbase="eventbase17";
		//创建索引
		//client.createCVEIndex(indexcve, indexcve);
	//System.out.println("索引: "+indexcve +"已创建");
		//eventbase
		//client.createCVEIndexShijian(indexeventbase,indexeventbase);
		//System.out.println("索引: "+indexeventbase +"已创建");
		
	  //导入数据
	     String fileName=name+".xlsx";
	     System.out.println(fileName);
	     File  cvexlsx=new File(fileName);
	  //   cvexlsx.createNewFile();
			client.saveToCVEIndex(indexcve,indexcve,cvexlsx);
		
				//	client.deleteindex(indexcve);
				//
				//	client.deleteindex(indexeventbase);
					
			//	client.createCVEIndex(index, type);
	//	client.deletedata(index, type);
		System.out.println("导入CVE数据结束");

	}
	


}


分享到:
评论

相关推荐

    java打包jar、第三方jar包、制作成.bat批处理

    本篇文章将深入探讨如何打包Java项目、如何处理第三方JAR包,并创建一个.bat批处理文件来简化运行流程。 1. **打包Java项目为JAR文件** 打包Java项目通常使用Maven或Gradle等构建工具。在Maven中,可以在pom.xml...

    javajar包运行及bat文件制作.doc

    ### Java Jar 包运行与 Bat 文件制作详解 #### 一、引言 在日常的软件开发过程中,我们经常需要将Java应用程序打包成可执行的jar文件,并通过命令行或者批处理脚本(bat文件)来运行这些应用。这种方式不仅便于...

    如何制作Java可执行程序

    制作Java程序的安装程序是另一个重要步骤,特别是对于大型应用。商业软件如InstallAnyWhere和InstallShield提供了强大的功能,但它们是付费的,学习曲线较陡峭。对于开源解决方案,IzPack是一个不错的选择,它可以...

    制作自己的java可运行程序(总结)

    综上所述,制作Java可运行程序涉及多个步骤,从理解JVM工作原理,到正确设置类路径,再到打包和运行JAR文件。掌握这些知识点将使你能够自信地发布和部署Java应用程序。同时,不断学习和实践是提升编程技能的关键,...

    Java制作bat文件可执行Jar.doc

    ### Java 制作 BAT 文件可执行 JAR 的详细步骤与知识点 #### 一、导言 在实际开发过程中,为了方便部署和分发应用程序,常常需要将 Java 应用程序打包成 JAR 文件,并通过批处理(BAT)文件来启动。这种方式不仅...

    一键安装双击运行——Java安装程序制作(PDF)

    5. **设置启动逻辑**:创建一个启动脚本或批处理文件,该文件用于检查系统是否已经安装了兼容的JRE。如果没有,先安装JRE,然后启动Java应用程序。 6. **测试与优化**:在多种操作系统环境下测试安装程序,确保其能...

    JAVA制作的应用电子地图程序

    开发者使用Java的编译器(javac)将源代码编译成字节码(.class文件),然后通过Java打包工具(jar)将这些字节码文件及相关的库文件打包成JAR,便于分发和运行。用户无需安装Java环境,只需在命令行中指定正确的...

    如何制作Java可执行程序以及安装程序.doc

    制作Java可执行程序通常是为了便于用户在无需安装Java开发环境的情况下运行程序。本文将详细介绍三种创建Java可执行程序的方法,并重点讲解如何将Java程序转换为Windows下的.exe文件以及使用JSmooth和NativeJ这两个...

    ant打jar包以及制作成bat文件双击运行

    本文将深入讲解如何使用Ant来打包Java项目为jar文件,并进一步将其制作成bat批处理文件,以便于双击运行。 首先,我们需要了解Ant的基本概念。Ant是Apache软件基金会的一个项目,它的设计目标是提供一个可配置的、...

    制作可执行jar文件【3中方法】

    5. 运行生成的JAR文件,可以通过命令行或创建批处理文件(`.bat`)来实现。 请注意,不同的方法适用于不同的场景。对于小型项目,第一种方法可能足够;大型项目通常需要使用IDE或构建工具,以确保正确处理依赖和...

    使用Eclipse制作可执行jar文件

    2. **制作批处理文件**:创建一个`.bat`文件,其中包含`javaw -jar %1`或`java -jar %1`命令,这里的`%1`代表被点击的JAR文件的完整路径。 通过这种方式,只需双击JAR文件即可直接启动应用程序,无需在命令行中手动...

    java打包为exe

    运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。

    Q君制作的类文件汉化工具

    在Java编程语言中,源代码(.java文件)经过编译后会生成对应的.class文件,这是Java虚拟机(JVM)可以直接运行的二进制代码。由于这些文件是机器可读的,对于普通用户来说,直接查看和修改它们是非常困难的。Q君的...

    java+SQL server制作的管理系统

    “run.bat”通常是一个批处理文件,用于在Windows操作系统上运行Java应用程序。它包含了启动Java虚拟机(JVM)并执行jar文件的命令,可能是这样的形式:“java -jar 名称.jar”。用户只需双击此bat文件,管理系统就...

    java程序做windows服务,随机启动

    在Windows操作系统中,Java程序通常以可执行JAR文件的形式运行。然而,为了实现Java程序在Windows开机时自动启动,并且在用户登录之前就已经运行,我们需要将其转化为一个Windows服务。这个过程涉及到Java程序的打包...

    jsmooth制作exe文件

    **JSmooth制作EXE文件** JSmooth是一款开源的Java应用程序,主要用于将Java的JAR文件转换为Windows平台下的可执行文件(EXE)。它为Java应用提供了一种便捷的方式,使其能在没有安装Java运行环境(JRE)的Windows...

    InstallShield 制作安装程序(java web程序)

    4. **配置启动脚本**:为了让用户能够通过点击.exe文件启动Java Web应用,你需要编写一个启动脚本(通常是批处理文件或Windows服务)。这个脚本会调用JDK的Java命令,指定Resin服务器的位置,并部署Web应用到Resin。...

    Java小项目:做一款桌面飘雪的小程序,放在桌面上运行。

    在Windows环境下,我们可以创建一个批处理文件(扩展名为`.bat`),包含启动Java应用程序的命令,例如`java -jar Snow.jar`,让用户只需双击批处理文件即可运行桌面飘雪程序。 程序的实现可能依赖于Java的图形用户...

Global site tag (gtag.js) - Google Analytics