红联Linux门户
Linux帮助

ubuntu系统中执行java项目的main方法

发布时间:2016-03-14 10:08:59来源:linux网站作者:zhengxiangwen

步骤如下:


1、通过maven(或其他方式)将项目打包成jar包(如果是用maven,应该选择 ***-SNAPSHOT-jar-with-dependencies.jar);


2、将jar包上传至Linux服务器对应的目录中


3、需要确保Linux中安装有JDK


4、编写一个shell脚本,里面应该包含JDK所在的路径、jar包所在的路径、项目的名称信息、日志存储所在的路径、main方法所在的类路径(cn.inbot.thread.TaskDistributor)、applicationContext.xml所在的路径(如果用到spring)


5、执行shell脚本

下面是执行main方法的shell脚本(crawler.sh),注意里面的路径配置:

#!/bin/sh 

APP_HOME=$(cd "$(dirname "$0")"; pwd) 

JAVA_HOME=/home/zhengxiangwen/download/jdk1.7.0_79 

CLASSPATH=$APP_HOME 
# add libs to CLASSPATH 
for f in $APP_HOME/lib/*.jar; do 
CLASSPATH=${CLASSPATH}:$f; 
done 

$JAVA_HOME/bin/java -Xmx512m -Xms512m \ 
-cp $CLASSPATH \ 
-Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN \ 
-DappDesc="crawler" \ 
-DappName=crawler \ 
cn.inbot.thread.TaskDistributor "/$APP_HOME/applicationContext.xml" \ 
1 > $APP_HOME/logs/emotionsensorok.log  2>$APP_HOME/logs/emotionsensorerror.log & 


下面是Linux服务器上的目录结构,和shell脚本里面的路径是一 一对应的:

ubuntu系统中执行java项目的main方法


下面是java里面的main方法:

public static void main(String[] args) throws InterruptedException {
if(null != args && args.length>0) 

ApplicationContext ac = new FileSystemXmlApplicationContext(args[0]); 
TaskDistributor taskDistributor = (TaskDistributor)ac.getBean("taskDistributor"); 

else{ 
System.out.println("number of params are not right ... "); 
}


本文永久更新地址:http://www.linuxdiyf.com/linux/18916.html