linux服务器部署jar包以及shell脚本的书写

背景:记录在linux环境下部署jar程序的过程

1 部署过程记录

1.1 程序结构

这里的main函数就在DemRest2.java 文件中。

为了部署方便,要做到以下两点:

1 在导出的jar包中不包含依赖的jar文件

2 程序用到的配置文件可以让用户进行自定义 ,不将其放在jar包中。

1.2 导出jar包

这里导出普通的jar包即可。为了方便传输,只导出必须的程序文件。

在jar包导出后,进入导出的jar包中,将配置文件tws.properties文件删除。

1.3 程序部署

将所有需要的jar包放在lib目录下面,包括我们导出工程的jar包tws-client-demo.jar

在用户自定义目录中,放置运行脚本和配置文件。

ps:运行脚本所在的目录,就相当于程序运行的根目录,所有的配置文件和运行脚本放置在同一目录即可。

这里程序中怎么读取配置文件,还需要好好研究。。。。。。。

#!/bin/sh
sourceMsgPath=/home/tws/server/tws-test/userMsg/lxw/

source /etc/profile
for i in $HOME/server/tws-test/lib/*;
    do CLASSPATH=$i:"$CLASSPATH";
done
export CLASSPATH=.:${CLASSPATH}
java  demo.rest.DemRest2 $sourceMsgPath$1

echo "Success!"

对照以上脚本进行解释:

运行程序:

在用户目录下面,程序能够读到jar包外部的配置文件。

2 标准脚本

在网上找的一个脚本范例:

在编写shell脚本出现错误时候,可以作为参考:

#! /bin/sh
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
for i in lib/*.jar;
        do CLASSPATH=$i:${CLASSPATH}
done
export CLASSPATH=.:${CLASSPATH}
java -cp ${CLASSPATH} main方法所在包名.main方法所在的类名
如果上述脚本不能顺利执行,可以尝试
#!/bin/bash后追加

source /etc/profile
source ~/.bash_profile
测试下。。

java -cp java的cp命令

java -cp .;c:\dir1\lib.jar Test

-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”

分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包,用一点“.”代表当前路径。

时间: 2024-10-12 03:58:45

linux服务器部署jar包以及shell脚本的书写的相关文章

Linux下批量启动jar包的shell脚本

jar_shell.sh文件内容如下 #! /bin/sh # 端口号 PORTS=(8761 10000) # 模块 MODULES=(zns-eureka zns-product) # 模块名称 MODULE_NAMES=(注册中心 产品模块) # jar包数组 JARS=(zns-eureka-1.0.0.jar zns-product-1.0.0.jar) # jar包路径 JAR_PATH='/usr/local/app/jars' # 日志路径 LOG_PATH='/usr/loca

Linux服务器安全初始化自选安装Shell脚本

#/bin/sh ############################################################# #auther:qiruyi #date:2016-08-05 #system:centos6.5 #version:1.0 #set env //设置环境变量 #Source function library. . /etc/init.d/functions export PATH=$PATH:/bin:/sbin:/usr/sbin #require

Ops:jar包启动关闭脚本

目录 简介 环境介绍 start.sh启动脚本 stop.sh关闭脚本 参考文档 简介 公司开发架构为java语言的rpc dubbo架构,将功能分解为各个模块,模块较多,发布到环境上的应用为编译后的jar包和配置文件,以及启动关闭jar包的shell脚本.之前经常会出现进程启动不了,或程序启动了多个的情况,此次,做了优化,结构比较严谨,代码量少,就不放到github上了,在这里做个分享,希望对你有用. 环境介绍 此脚步使用场景需要标准化环境的要求,所有jar皆可使用该脚本使用,通用性良好. j

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年3月6日 http://www.cnblogs.com/fanshuyao/ 一.Linux快速部署W

Linux服务器部署系列之七—OpenLDAP篇

LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环境:CentOS 5. 软件需求: db-4.7.25.tar.gz(http://www.oracle.com/technology/global/cn/software/products/berkeley-db/index.html) openldap-stable-20090411.tgz (

如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析团队的分析环境),花了一个星期,搭好了.还YY过给这个亲生的儿子起个装逼的名字呢,莫扎特,巴赫什么的,并YY出以下场景{Jenny ,你把模型扔到莫扎特上跑一版最新结果出来...啊哈是不是特有逼格..哦哈哈...}我是部署的Rstudio server,这个是免费的,但是Rstudio sererv

linux服务器部署tomcat和Nginx

项目需要,申请了三台测试机器,好在测试机里面光秃秃的什么都没有,我就可以好好的学习一把玩一把了!接下来以图文的形式讲一下我所碰到的坑以及小小的收获吧! 一.准备工作 首先你得有一台可以玩的linux服务器,知道用户名和密码,然后你需要在windows电脑上安装两个可以连上linux服务器的工具,Xshell 5和Xftp 5,安装教程不多说,补图说明如何连上服务器: xshell连接界面如下,输入好主机ip后点击确定,xshell会弹出窗口输入用户名和密码即可连接成功! xftp连接界面如下,填

Linux服务器部署系列之八—Sendmail篇

Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮件服务器的部署. 本文将从以下几个方面讲解Sendmail邮件系统: 1.Sendmail安装: 2.Sendmail基本配置: 3.Openwebmail安装和配置: 4.配置Mailscanner+clamav过滤病毒: 5.配置SpamAssassin+mimedefang过滤垃圾邮件. 本文

Linux服务器管理: RPM包

服务安装类型主要分两种: RPM安装和源码包编译安装: 1.RPM包查看: rpm -qa | grep 包名 用chkconfig --list 查看服务自启动命令    只对RPM包安装的服务生效 源码包未必生效 ps -aux (查看系统当中所有启动的进程)  ps aux | grep 服务名 如果有返回则说明服务在运行 netstat -tlun (守护进程没有端口是看不到的) 2.源码包查看安装服务 源码包的所有都放置在安装目录当中如果删除该目录那么该服务就会干净的在服务器上消失.