服务器单独运行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包方法相关推荐
- Linux服务器后台运行jar包
转载自https://juejin.im/post/5b47411ee51d45190570ce6d 最终的运行命令: nohup java -jar xxx.jar >logs.txt &am ...
- docker java -jar_使用Docker安装Java镜像运行jar包方法
1.下载java镜像,tag为8u111docker pull java:8u111 2.运行docker容器docker run --name trading-server -p 5566:5566 ...
- Windows服务器后台运行jar包
一.问题概述 在windows的服务器中,通过打开一个cmd窗口,执行java --jar xxxx.jar的方式,每一个cmd窗口,相当于一个临时session会话,当cmd窗口关闭之后,启动的ja ...
- centos运行jar包需要的环境_Centos7服务器下启动jar包项目的最佳方法
前言 在linux上运行jar包谁都会啊.为什么我还要单独拎出来讲呢.细心的朋友可能已经在标题中发现关键词Centos7和最佳方式. 这就说明我不是随便写点东西水一篇博客的ヾ(◍°∇°◍)ノ゙ 首先C ...
- 【在linux云服务器上传jar包并运行jar】以及Linux运行包的相关命令
系列文章目录 文章目录 系列文章目录 前言 一.上传jar包 二.云服务器运行jar包相关命令 1.运行jar包 2.关闭jar包 前言 一.idea打jar包教程.点击浏览文章 二.笔者是用第三方X ...
- 云服务器运行jar包相关命令
云服务器运行jar包相关命令 1.运行jar包 一.在linux服务器上运行Jar文件时通常的方法是: 这种方式特点是ssh窗口关闭时,程序中止运行 java -jar test.jar 二.让Jar ...
- 服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载
服务器直接启动jar包命令 打包好的jar包,如果要运行起来,我们可以安装好java环境只会,直接执行java -jar 将服务启动起来 nohup java -server -Xms256m -Xm ...
- 【Linux服务器运行jar包】
目录 一.运行jar包 二.把命令放在后台执行? 三.终端关闭了,运行中的命令如何不受终端影响? 四.结束jar包运行 五.如何找到已经运行的jar包? 六.如果关闭已经运行的jar包? 七.如何设置 ...
- 在Linux服务器运行jar包并一直处于后台执行
在Linux服务器运行jar包并一直处于后台执行: 一.一般情况 jar包在linux的目录为 /jarmanager/xxx.jar 使用在/jarmanager目录下使用 java -jar xx ...
最新文章
- 解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题
- C语言学习之用指针方法对10个整数按由大到小顺序排序
- springboot整合postgre和hbase实现互相交互功能
- android icon在线更新,Android在线更新下载方案
- 过滤器,绑定事件,动画
- 在RHEL5/CentOS5上配置使用Open×××
- IPMI从驱动到应用(下篇 )
- Java实现的各种排序算法
- 万网如何修改dns服务器,万网域名如何修改DNS设置方法
- excel清单数据导入到开票软件中进行开票
- 74cms|骑士cms|开源招聘系统,数据结构
- Qt扫盲-QSystemTrayIcon理论总结
- 电子测量-不同电压波形对不同检波特性电压表的影响分析
- FlexRay学习笔记_2
- 微信程序开发之微信接入(详细开发)
- 计算机信息心得体会作文50字,信息技术心得体会(精选11篇)
- 实用Windows系统快捷键大全
- Bugku CTF web source
- STM32的RTC时钟,星期(week)不是万年历
- 计算机中shell是干什么的