首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

命令行运作Java的几种方式

2013-08-26 
命令行运行Java的几种方式Usage: java [-options] class [args...](to execute a class)orjava [-options]

命令行运行Java的几种方式
Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file)

?

>>运行依赖于第三方包的jar

pausee:cd E:\workspace\000MavenProject\biz-rds\cronset classpath=./biz-rds.jar;./jbossall-client.jarjava -Drds_jnp=localhost:1100 com.synnex.biz2.rds.cron.retire.Startuppause

或者:

pausee:cd E:\workspace\000MavenProject\biz-rds\cronjava -Drds_jnp=localhost:1100 -classpath biz-rds.jar;jbossall-client.jar com.synnex.biz2.rds.cron.retire.Startuppause

?

>>运行Class

在包的根目录下[E:\workspace\000MavenProject\biz-rds\target\test-classes]运行下面命令:

java -Drds_jnp=1111 com.aaa.biz2.rds.Temp 123 dasf

输出:

rds_jnp:1111123dasf

Temp源码:

package com.aaa.biz2.rds;public class Temp {    public static void main(String[] args) {        System.out.println("rds_jnp:" + System.getProperty("rds_jnp"));        if (null != args) {            for (String arg:args) {                System.out.println(arg);            }        } else {            System.out.println("args is null");        }    }}
?

>>运行指定了MainClass的jar包

META-INF/MANIFEST.MF

Manifest-Version: 1.0Ant-Version: Apache Ant 1.7.1Created-By: 1.5.0_14 (Sun Microsystems Inc.)Main-Class: com.aaa.rds.engine.StartupClass-Path: ./lib/mail.jar ./lib/jbossall-client.jar ./lib/activation. jar

Java 命令:

java -Drds_jnp=fca-vm-rds-prod1:1100,fca-vm-rds-prod2:1100,fca-vm-rds-prod3:1100 -jar RDSCron.jar

?

>>运行未指定MainClass的jar包:

Java 命令:

java -classpath biz-rds.jar com.aaa.biz2.rds.Temp 123 aaa

输出:

rds_jnp:null123aaa

?

>>关于参数传递:

1,通过系统变量传递:

-Drds_jnp=fca-vm-rds-prod1:1100,fca-vm-rds-prod2:1100,fca-vm-rds-prod3:1100

获取方式:

String providerUrl = System.getProperty("rds_jnp");

2,通过Main方法传入:

java com.aaa.biz2.rds.Temp 123 dasf
或者:
java -jar RDSCron.jar 123 dasf
获取方式:
public static void main(String[] args) {        if (null != args) {            for (String arg:args) {                System.out.println(arg);            }        } else {            System.out.println("args is null");        }    }
??

?>>相关信息:

jar 分可执行jar 和非可执行jar 一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 (http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html)所以我设置的classpath无效。

?

?

热点排行