在LINUX下部署JAVA项目 我在WINDOW下写了一个JAVA项目调度的项目。我把它放在LINUX系统下,我想知道怎么启动这个项目(非WEB项目)。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一样的,调用java your_classorjava -jar your_jar 但是我的项目引用了第三方JAR包,启动就报类找不到。 不知怎么配置。 java是一个可执行文件,实际上无论是在Linux上还是在Windows上,你的jar或者class都是被当做参数传递给了java这个可执行程序。在Windows上,你可以用bat,可以在cmd中直接启动java程序。在Linux上也一样。进入控制台,设置好环境变量(可自己写脚本),输入和windows上相同的命令就行了。前提是,你的Linux上得有jre。 类找不到,是因为你的classpath设置不正确。把需要的jar都放到一个lib下,假设是/home/yourname/lib然后:CLASS_PATH=/home/yourname/libJAVA_HOME=/opt/java/jrex.x.x$JAVA_HOME/bin/java -cp $CLASS_PATH yourClassOrJarName jar 包的话,要在 jar 包的 META-INF/MANIFEST.MF 文件中加上 Class-Path: 项的。关于这个具体怎么加我在这个论坛至少回复过 10 次,不想再说了。不过我建议可以直接把 class 文件复制过去,也不用打什么 jar 包了,用 class 运行。Linux 的话,在启动命令后面加个 & 符号,可以让程序在后台运行,需要记录一下这个程序的 PID 号便于以后 kill 掉这个程序。 不用记录,要kill之前ps -ef | grep java应该就能找到、。 不记录的话,那只能这台机器上只有一个 Java 进程在跑,否则找起来很麻烦,一不小心就 kill 错掉了。写个 shell 脚本就方便了start.sh[code=BatchFile]#!/bin/shexport LANG=zh_CN export LC_ALL=zh_CN.GBKjava -cp ./classes:./lib/xxx.jar:./lib/xxx.jar:... com.test.Main 1>out.log 2>err.log &echo $!> pid.txtsleep 1stail -f out.log err.log ./logs/run.log[/code]stop.sh[code=BatchFile]#!/bin/shkill -9 `cat pid.txt`sleep 2skill -9 `cat pid.txt`[/code] 建议小白们先玩透了dos(当然,不是当年的ms/pc-dos)下的javajava -X... -cp ....... -D......... xxx.xxxx.xxxx arg0 .....然后到linux下面,就会觉得顺手多了。 求助, myeclipse出现404问题 ext中JsonReader 显示不出数据 myeclipse 与 tomcat 问题 tomcat的问题 一个struts1的问题,一个页面的数据插入到2个表中.. Servlet.service() for servlet jsp threw exception 和No bean named 'sessionFactory' is defined hibernate中怎么样解决日期类的持久化 索求代码 菜鸟问题:关于hibernate的! 关于JNI struts初学问题 hibernate奇怪的问题?
java your_class
or
java -jar your_jar
在Windows上,你可以用bat,可以在cmd中直接启动java程序。
在Linux上也一样。进入控制台,设置好环境变量(可自己写脚本),输入和windows上相同的命令就行了。
前提是,你的Linux上得有jre。
把需要的jar都放到一个lib下,假设是/home/yourname/lib
然后:
CLASS_PATH=/home/yourname/lib
JAVA_HOME=/opt/java/jrex.x.x$JAVA_HOME/bin/java -cp $CLASS_PATH yourClassOrJarName
不用记录,要kill之前ps -ef | grep java
应该就能找到、。
[code=BatchFile]#!/bin/shexport LANG=zh_CN
export LC_ALL=zh_CN.GBK
java -cp ./classes:./lib/xxx.jar:./lib/xxx.jar:... com.test.Main 1>out.log 2>err.log &
echo $!> pid.txt
sleep 1s
tail -f out.log err.log ./logs/run.log[/code]stop.sh
[code=BatchFile]#!/bin/shkill -9 `cat pid.txt`
sleep 2s
kill -9 `cat pid.txt`[/code]
java -X... -cp ....... -D......... xxx.xxxx.xxxx arg0 .....
然后到linux下面,就会觉得顺手多了。