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

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

1 部署过程记录

1.1 程序结构

20180110235319387284.png

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

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

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

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

1.2 导出jar包

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

20180110235319393144.png

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

1.3 程序部署

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

20180110235319401933.png

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

20180110235319410723.png

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$1echo"Success!"

对照以上脚本进行解释:

20180110235319419512.png

运行程序:

20180110235319427325.png

在用户目录下面,程序能够读到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包,用一点“.”代表当前路径。

原文:http://www.cnblogs.com/lixuwu/p/7163710.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值