1. 程式人生 > >伺服器單獨執行jar包方法

伺服器單獨執行jar包方法

專案中遇到個問題,要為7000多張表加索引,不可能手動新增,於是就需要寫個單獨的程式來新增

分為幾步:

1,寫一個java程式

2,建立MF檔案,指定引入的jar包,以及函式入口

3,匯出jar檔案

4,上傳jar檔案以及 所需jar包到伺服器

5,在伺服器執行 java -jar 檔名.jar

下面是程式原始碼以及包結構

package com.xc.main;

import java.util.ArrayList;
import java.util.List;

import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;

public class Main {

	public static void main(String[] args) {
		String jdbcUrl = "jdbc:mysql://127.0.0.1:3306/資料庫名?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull";
		DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl,"使用者名稱", "密碼");
		druidPlugin.start();
		ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
		arp.start();
		//指定需要建立索引的裝置表
		List<String> deviceIds=new ArrayList<String>();
		deviceIds.add("20000000000a1");
		deviceIds.add("15200017");
		deviceIds.add("15460001");
		deviceIds.add("10000000000e1");
		deviceIds.add("10000000000f1");
		deviceIds.add("10000000001a1");
		deviceIds.add("10000000001b1");
		deviceIds.add("10000000001c1");
		deviceIds.add("10000000001d1");
		deviceIds.add("10000000001e1");
		//為指定的表建立索引
		for(String s:deviceIds){
			System.err.println("查詢表:"+s);
			List<Record> dataIndexList=Db.find("show index from xc_cool_data_"+s+";");
			List<Record> gpsIndexList=Db.find("show index from xc_cool_gps_"+s+";");
			
			boolean dataHasDatelineIndex=false;
			boolean gpsHasDatelineIndex=false;
			//檢視是否已經建了索引
			if(dataIndexList!=null&&dataIndexList.size()>0){
				for(Record r:dataIndexList){
					if(r.getStr("Column_name").equals("dateLine")){
						dataHasDatelineIndex=true;
					}
				}
			}
			
			if(gpsIndexList!=null&&gpsIndexList.size()>0){
				for(Record r:gpsIndexList){
					if(r.getStr("Column_name").equals("dateLine")){
						gpsHasDatelineIndex=true;
					}
				}
			}
			
			if(!dataHasDatelineIndex){
				System.err.println("為xc_cool_data_"+s+"   加索引");
				Db.update("ALTER TABLE `xc_cool_data_"+s+"` ADD INDEX xc_cool_data_"+s+"_dateline ( `dateLine`)");
			}
			if(!gpsHasDatelineIndex){
				System.err.println("為xc_cool_gps_"+s+"   加索引");
				Db.update("ALTER TABLE `xc_cool_gps_"+s+"` ADD INDEX xc_cool_gps_"+s+"_dateline ( `dateLine`)");
			}
		}
		
		
			
	}

}

MANIFEST,.MF檔案
Manifest-Version: 1.0
Class-Path:   lib/druid-0.2.20.jar  lib/jfinal-3.0-bin-with-src.jar   lib/mysql-connector-java-5.1.20-bin.jar                                                          
Main-Class: com.xc.main.Main
最後的所有檔案


相關推薦

伺服器單獨執行jar方法

專案中遇到個問題,要為7000多張表加索引,不可能手動新增,於是就需要寫個單獨的程式來新增 分為幾步: 1,寫一個java程式 2,建立MF檔案,指定引入的jar包,以及函式入口 3,匯出jar檔案 4,上傳jar檔案以及 所需jar包到伺服器 5,在伺服器執行 java

jar上傳到Hadoop伺服器執行jar方法--引數不對應導致報錯output directory already exists

 ERROR security.UserGroupInformation: PriviledgedActionException as:root cause:org.apache.hadoop.mapred.FileAlreadyExistsException:Outpu

在Linux伺服器執行jar,並且使jar一直處於後臺執行

1.我jar包在linux的目錄為/a/bbb.jar         正常情況下,使用在/a目錄下使用  java -jar bbb.jar 可以直接執行該jar包的專案,執行成功之後使用crtl+c可以退出專案執行,

maven專案依賴本地jar時編譯生成可執行jar方法

maven專案需要本地jar包時,在根目錄新建lib目錄,將jar包拷貝到lib目錄並且新增到build path此時直接打可執行jar包會出現編譯報錯、啟動時缺少jar包等問題解決方案:    1.增加編譯外掛, 解決Failed to execute goal org.a

weblogic 伺服器找不到某jar方法問題

    最近在用weblogic,經常出現的問題就是找不到類或找不到方法,但是jar包明明就在classpath裡面。經過研究發現原因為weblogic的呼叫過程中並未呼叫classpath下的jar,而是呼叫了其他的類,所以只需要將找不到類的jar加入的到weblogic的

bat批處理命令執行jar中的main方法

一、Eclipse匯出可執行的jar中使用方式(main函式中的方法依賴第三方庫):1、將依賴的第三方庫抽取到匯出的jar包中2、將依賴的第三方庫獨立匯出,資料夾命名方式為:匯出的jar名稱_lib如圖所示:[img]http://dl2.iteye.com/upload/a

scala學習-Linux命令列執行jar傳入main方法引數

1。eclipse寫了一個程式,直接打包成jav普通jar包,然後無法選擇主類,但是執行的時候,可以指定引數,(引數在程式裡用 args(i)引用,注意是括號) 2。執行的時候,引數跟在jar包後面,

執行jar找不到依賴的解決方法

將Java工程打成jar包,但第三方jar包並沒有包含在包中,當在命令列中執行jar包時,出現類找不到的異常, 解決辦法1: 將第三方jar包放到JRE的擴充套件類資料夾中(%JAVA_HOME%/jre/lib/ext), 解決方法2: 修改jar包的MANIFES

loadrunner調用jar方法

ssp wrap 選擇 col new osc ips 文件 pack 環境 win7(32位)/winXP+loadrunner11+JDK 1.6(一定要配置JAVA環境變量) 1、Eclipse中創建com.medivh包 1 package com.medivh

java命令執行jar的方式

運行 -c 必須 loader 自定義 pan ati tcl stat 大家都知道一個java應用項目可以打包成一個jar,當然你必須指定一個擁有main函數的main class作為你這個jar包的程序入口。 具體的方法是修改jar包內目錄META-INF下的MA

Maven倉庫理解、如何引入本地、Maven多種方式打可執行jar

依賴 tro 個人 部署 格式 多種方式 ava null 路徑 轉載博客:http://quicker.iteye.com/blog/2319947 有關MAVEN倉庫的理解參見:http://blog.csdn.net/wanghantong/article/det

Java打包可執行jar 包含外部文件

star bsp end clas adl pro readline 令行 inpu 外部文件在程序中設置成相對當前工程路徑,執行jar包時,將外部文件放在和jar包平級的目錄。 1 public class Main { 2 3 4 public

eclipse怎麽導出可執行jar

hot exp 對話框 con java程序 -i -c image jar 在eclpse中找到你要導出的java程序 選中它 單擊文件 -->export 在彈出的export對話框中找到 jar File 單擊選中-->

Maven引入本地依賴Jar到可執行Jar

log copyright 目錄 -1 maven中央倉庫 div maven項目 path archive 在Maven中,默認地,是不會將依賴的Jar包打入可執行Jar包的,如果需要將依賴打入可執行Jar包,需要在pom中添加maven-assembly-plugin插

maven打包可執行jar

version 打開 print cto tid directory tor group XML 創建一個文件夾haha,裏面包含三項 Haha.java Main.java pom.xml pom.xml <?xml version="1.0"

maven可執行jar

maven 插件1: <build> <plugins> <!-- 1. 生成MANIFEST.MF文件 --> <plugin> <groupId>org.apache.maven.plugins</gro

將 Spring boot 項目打成可執行Jar,及相關註意事項(main-class、缺少 xsd、重復打包依賴)

arc XA 有一個 文件中 pom.xml tomcat 我們 tool pil 最近在看 spring boot 的東西,覺得很方便,很好用。對於一個簡單的REST服務,都不要自己部署Tomcat了,直接在 IDE 裏 run 一個包含 main 函數的主類就可以了

打包SpringBoot -- 可執行Jar

ram spring ins 解決 oal Coding del oot gin 最近開始學習SpringCloud,想給項目裏的模塊單獨打包,方便多次部署。可是在網上找了很多的解決方案,都沒有操作成功的。最後查看官網請添加鏈接描述的文檔才找到解決方案,順便把成功的打包方式

創建可執行jar

jar main 可執行jar包 使用 clas 打包 style ron -c 1.編輯manifest.mf文件 Main-Class:空格 你的類名 回車 2.打包 jar cvfm 類名.jar manifest.mf 類名.class 3使用 java -ja