Java项目部署到Linux并配置定时任务
2016-12-03 20:25
295 查看
1、在Eclipse中将程序开发好,并进行编译成.class文件
2、在linux中创建对应的目录,本人在linux中创建StatShareDataProject 目录用来存放程序,同时在这个目录下创建如下所示的一些目录与文件,其中srcData程序中所要用的数据,log日志目录,lib 程序所用的jar包,将程序运行所需要的文件移动到对应的目录
![](https://img-blog.csdn.net/20161203194550337)
本人程序在Eclipse中的目录发下,因而在linux下同样是创建entity,main,utils目录
![](https://img-blog.csdn.net/20161203194856388)
3、linux的目录创建好便可将eclipse编译好的.class文件上传到对应的目录
eg:
![](https://img-blog.csdn.net/20161203201309735)
4、接下来便是编写启停脚本
![](https://img-blog.csdn.net/20161203195756057)
内容如下:
注意:$JAVA_OPTS main.StatBasicData 这个是对应要启动的类,这里main.StatBasicData :main对应的是目录,StatBasicData 对应的是目录下的类名,StatBasicData .class中又有对应的main方法;
这里.:./lib/commons-codec-1.6.jar …就是该程序运行所需要的jar包
stop.sp脚本
![](https://img-blog.csdn.net/20161203200618982)
内容如下:
5、编写完启停脚本就可运行
![](https://img-blog.csdn.net/20161203201040968)
看到程序正常运行输出的日志便算程序部署成功了。
6、测试stop.sh
![](https://img-blog.csdn.net/20161203201504237)
7、配置定时任务
![](https://img-blog.csdn.net/20161203201709755)
观察定时任务的执行结果
注意:
在配置定时任务时,出现了定时任务有执行但是程序并没有运行,但是通过手动运行程序时程序却可以正常运行,后来发现是脚本编写的有问题。之前编写的脚本是通过将整个程序打包成jar包这种方式来运行,发现定时任务执行不了这种方式的脚本才换用如上形式。
通过定时任务执行程序时nohup.out是不会有输出的,手工执行才在nohup.out中有对应的输出。
2、在linux中创建对应的目录,本人在linux中创建StatShareDataProject 目录用来存放程序,同时在这个目录下创建如下所示的一些目录与文件,其中srcData程序中所要用的数据,log日志目录,lib 程序所用的jar包,将程序运行所需要的文件移动到对应的目录
本人程序在Eclipse中的目录发下,因而在linux下同样是创建entity,main,utils目录
3、linux的目录创建好便可将eclipse编译好的.class文件上传到对应的目录
eg:
4、接下来便是编写启停脚本
内容如下:
#!/bin/sh source /etc/profile NAME=StatShareDataProject echo "—-Kill $NAME—-" ID= `ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` echo $ID for id in $ID do kill -9 $id echo "kill $id" done echo "—-!!—-" cd /root/yechunbo/project/StatShareDataProject JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:-UseGCOverheadLimit -DappName=StatShareDataProject -Djava.rmi.server.hostname=127.0.0.1 -Djava.NET.preferIPv4Stack=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:Pa rallelGCThreads=8" nohup java -classpath .:./lib/commons-codec-1.6.jar:./lib/commons-logging.jar:./lib/dom4j-1.6.1.jar:./lib/commons-lang-2.4.jar:./lib/commons-logging-1.1.1.jar:./lib/fluent-hc-4.2.5.jar:./lib/httpclient-4.2.5.j ar:./lib/httpclient-cache-4.2.5.jar:./lib/httpcore-4.2.4.jar:./lib/httpmime-4.2.5.jar:./lib/json-20080701.jar:./lib/jsoup-1.9.2.jar:./lib/json-lib-2.2.3-jdk15.jar:./lib/jxls-core-1.0.jar:./lib/statShare.jar:./ lib/log4j-1.2.17.jar $JAVA_OPTS main.StatBasicData &
注意:$JAVA_OPTS main.StatBasicData 这个是对应要启动的类,这里main.StatBasicData :main对应的是目录,StatBasicData 对应的是目录下的类名,StatBasicData .class中又有对应的main方法;
这里.:./lib/commons-codec-1.6.jar …就是该程序运行所需要的jar包
stop.sp脚本
内容如下:
#!/bin/sh NAME=StatShareDataProject echo "—-Kill $NAME—-" ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` echo $ID for id in $ID do kill -9 $id echo "kill $id" done echo "—-!!—-"
5、编写完启停脚本就可运行
看到程序正常运行输出的日志便算程序部署成功了。
6、测试stop.sh
7、配置定时任务
观察定时任务的执行结果
注意:
在配置定时任务时,出现了定时任务有执行但是程序并没有运行,但是通过手动运行程序时程序却可以正常运行,后来发现是脚本编写的有问题。之前编写的脚本是通过将整个程序打包成jar包这种方式来运行,发现定时任务执行不了这种方式的脚本才换用如上形式。
通过定时任务执行程序时nohup.out是不会有输出的,手工执行才在nohup.out中有对应的输出。
相关文章推荐
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
- 在linux下配置javaWeb项目.sh部署脚本
- linux下添加定时任务(定时运行java项目中的任务类class)
- linux下crontab定时执行任务的配置-crontab调用java
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
- 非web java项目部署到linux总结(非打包成jar,配置文件可以随时修改)
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
- ruby on rails linux部署环境下定时任务解决小记 jasonchi
- Linux配置支持C/C++项目的eclipse和支持java项目的eclipse
- ubuntu配置jdk和tomcat+部署java项目[最佳实践]
- Linux:Tomacat安装配置,项目部署
- [BAT][JAVA]定时任务之-Quartz使用篇(通过这个配置可以知道在做Quartz的时候需要的jar文件/Cron表达式使用语法/常用Cron表达式)
- windows/linux下部署纯java项目
- 环境配置篇之linux定时任务
- linux 定时任务——crontab 的配置和使用
- ubuntu配置jdk和tomcat+部署java项目[最佳实践]
- (转载)Linux定时任务cron配置
- java日历类型应用/配置java定时任务
- 关于一个具有配置文件的 Java Project 项目(非 web 项目)在服务器上的一个便捷部署
- linux下java项目移植部署心得