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

来源:互联网 发布:软件开发安全职责 编辑:程序博客网 时间:2024/06/06 01:04

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:$PATHexport 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/bashexport JAVA_HOME=/usr/java/jdk1.7.0_71export PATH=$JAVA_HOME/bin:$PATHexport 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}#解析IPecho "runip ${today} start" >>${log_dir}/${today}.logjava -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}.logecho "runip complete" >>${log_dir}/${today}.log

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

赋权

chmod +x *.sh

执行一下,查看日志,是否执行成功

./runip.sh
0 0