您的位置:首页 > 编程语言 > Java开发

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

2016-03-13 21:13 471 查看
步骤如下:

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脚本里面的路径是一 一对应的:



下面是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 ... ");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: