我在WINDOW下写了一个JAVA项目调度的项目。我把它放在LINUX系统下,我想知道怎么启动这个项目(非WEB项目)。

解决方案 »

  1.   

    一样的,调用
    java your_class
    or
    java -jar your_jar
      

  2.   

    但是我的项目引用了第三方JAR包,启动就报类找不到。   不知怎么配置。
      

  3.   

    java是一个可执行文件,实际上无论是在Linux上还是在Windows上,你的jar或者class都是被当做参数传递给了java这个可执行程序。
    在Windows上,你可以用bat,可以在cmd中直接启动java程序。
    在Linux上也一样。进入控制台,设置好环境变量(可自己写脚本),输入和windows上相同的命令就行了。
    前提是,你的Linux上得有jre。
      

  4.   

    类找不到,是因为你的classpath设置不正确。
    把需要的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
      

  5.   

    jar 包的话,要在 jar 包的 META-INF/MANIFEST.MF 文件中加上 Class-Path: 项的。关于这个具体怎么加我在这个论坛至少回复过 10 次,不想再说了。不过我建议可以直接把 class 文件复制过去,也不用打什么 jar 包了,用 class 运行。Linux 的话,在启动命令后面加个 & 符号,可以让程序在后台运行,需要记录一下这个程序的 PID 号便于以后 kill 掉这个程序。
      

  6.   


    不用记录,要kill之前ps -ef | grep java
    应该就能找到、。
      

  7.   

    不记录的话,那只能这台机器上只有一个 Java 进程在跑,否则找起来很麻烦,一不小心就 kill 错掉了。写个 shell 脚本就方便了start.sh
    [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]
      

  8.   

    建议小白们先玩透了dos(当然,不是当年的ms/pc-dos)下的java
    java -X... -cp ....... -D......... xxx.xxxx.xxxx arg0 .....
    然后到linux下面,就会觉得顺手多了。