您的位置:首页 > 运维架构 > Linux

Linux下运行java项目(带jar包)

2016-04-23 21:22 666 查看

1、安装jdk

1.查看系统位数:
uname
-ar
 

如果结果出现X86-64字样说明你的系统是64位的,其他情况应该是32位 附:dk7的官方链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2.下载安装:

到官网上下载对应的JDK,我是64位的,下载了jdk-7u79-linux-x64.tar.gz

压缩包的好处是解压即可用

进入下载文件夹,解压JDK:
sudo
tar -zxvf jdk-7u79-linux-x64.tar.gz
 

解压后移到/usr/local目录下
mv
jdk1.7.0_79 /usr/local/
 

解压下就算安装完了,是不是很爽!

3.配置环境变量:

第一种方法: vi /etc/profile 在里面添加如下内容:
export JAVA_HOME=/usr/local/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


把JAVA_HOME中的路径修改成你安装的路径,保存关闭文件。

第二种方法:

打开/etc/profile,我们发现有这样一段代码:
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi


也就是说,/etc/profile会自动扫描执行/etc/profile.d目录下的所有可读的文件。

那我们就可以在该文件下设置JDK环境变量,各种配置分开,方便管理。
vi /etc/profile.d/java.sh


输入上面提到的设置内容,保存即可。

4.查看是否成功

重启或注销,使配置生效。或者执行. /etc/profile 

然后java -version查看效果

2、部署java项目

需求:写个定时器每天调用淘宝ip库取数据库里的ip解析出地理位置

结构如下:



1、文件准备

把src下的文件打成jar包,项目右键->export->jar……

这里我命名为ip2location.jar(2)

然后把lib下的所有jar包(1),

源码的主类文件(3)(含有main函数,我这里是updateIpTimer.java)

1、2、3三个东西放在一个文件夹里,上传到服务器

2、编译

 javac -cp jar参数 updateIpTimer.java javac -cp XXX/ip2location.jar:XXX/commons-io-1.4.jar updateIpTimer.java

把所有jar路径写上去,以:分隔,注意是英文符号

我的实例:
javac -cp /home/report/project/ip2location/ip2location.jar:/home/report/project/ip2location/commons-io-1.4.jar:/home/report/project/ip2location/commons-lang-2.4.jar:/home/report/project/ip2location/commons-logging-1.1.1.jar:/home/report/project/ip2location/httpclient-4.2.5.jar:/home/report/project/ip2location/httpcore-4.2.4.jar:/home/report/project/ip2location/oracle-connector-java.jar:/home/report/project/ip2location/json.jar updateIpTimer.java


编译完成将产生updateIpTimer.class文件

3、运行

 跟编译差不多 java -cp jar参数: ip.updateIpTimer 注意参数最后一个:不能少,主类也不带.java 如果class文件有包名字,要带上。我这里是如ip.updateIpTimer
java -cp /home/report/project/ip2location/ip2location.jar:/home/report/project/ip2location/commons-io-1.4.jar:/home/report/project/ip2location/commons-lang-2.4.jar:/home/report/project/ip2location/commons-logging-1.1.1.jar:/home/report/project/ip2location/httpclient-4.2.5.jar:/home/report/project/ip2location/httpcore-4.2.4.jar:/home/report/project/ip2location/oracle-connector-java.jar:/home/report/project/ip2location/json.jar: ip.updateIpTimer


4、写成脚本

vi runip.sh
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#相关目录
base_dir="/home/report/project/ip2location/"
log_dir=${base_dir}"/log/"
today=$(date -d -1day +%Y%m%d)

#切换到工作目录
cd ${base_dir}

#解析IP
echo "runip ${today} start" >>${log_dir}/${today}.log
java -cp /home/report/project/ip2location/ip2location.jar:/home/report/project/ip2location/commons-io-1.4.jar:/home/report/project/ip2location/commons-lang-2.4.jar:/home/report/project/ip2location/commons-logging-1.1.1.jar:/home/report/project/ip2location/httpclient-4.2.5.jar:/home/report/project/ip2location/httpcore-4.2.4.jar:/home/report/project/ip2location/oracle-connector-java.jar:/home/report/project/ip2location/json.jar: ip.updateIpTimer >>${log_dir}/${today}.log
echo "runip complete" >>${log_dir}/${today}.log


保存,以后直接运行脚本就行了

赋权

chmod
+x *.sh


执行一下,查看日志,是否执行成功
./runip.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: