java中main函数的参数args

血饮 2011-01-20 10:39:57
最近在看tomcat源码,哎,好纠结亚,看的头晕呼呼的。才刚看到启动这一块,Bootstrap.jar中有这一段代码
public static void main (String[] args){
.......................
String command = "start";
if (args.length > 0) {
command = args[(args.length - 1)];
}

if (command.equals("startd")) {
args[0] = "start";
daemon.load(args);
daemon.start();
} else if (command.equals("stopd")) {
args[0] = "stop";
daemon.stop();
} else if (command.equals("start")) {
daemon.setAwait(true);
daemon.load(args);
daemon.start();
} else if (command.equals("stop")) {
daemon.stopServer(args);
} else {
log.warn("Bootstrap: command \"" + command + "\" does not exist.");
}
.....................
}
args是main函数的参数,平时很少用,但在这里看到,有点摸不着头脑,请大侠指点迷津??
...全文
650 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
whut_lcy 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 bjliuzg 的回复:]
就是调用时传递的参数,如在你的main方法里启动tomcat
org.apache.catalina.startup.Catalina.main(new String[]{"-config", "D:/workspace/Tomcat/conf/server.xml","-debug", "start"});
红色部分就是不不明白的,
你应该是不明白为什么还要判断args的长度是吧,平时操……
[/Quote].
bjliuzg 2011-01-20
  • 打赏
  • 举报
回复
就是调用时传递的参数,如在你的main方法里启动tomcat
org.apache.catalina.startup.Catalina.main(new String[]{"-config", "D:/workspace/Tomcat/conf/server.xml","-debug", "start"});
红色部分就是不不明白的,
你应该是不明白为什么还要判断args的长度是吧,平时操作main方法都是独立启动的,没有别人调用它,所以你不太清楚。
mopishv0 2011-01-20
  • 打赏
  • 举报
回复
比如
java Hello a b c
那么main函数里的参数就是{"a","b","c"}了
在bat里 参数用空格分割的
血饮 2011-01-20
  • 打赏
  • 举报
回复
使用编好的class档时????
cscxxx 2011-01-20
  • 打赏
  • 举报
回复
使用编好的class档时
java classname string1 string2 string3
则会传参给这个class处理
那args就会有string1 string2 string3 这三个
血饮 2011-01-20
  • 打赏
  • 举报
回复
4楼的 比如 通过命令行启动程序,后面添加的参数,会被截取为args数组 能不能再详细点亚
fhhffchffy 2011-01-20
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
血饮 2011-01-20
  • 打赏
  • 举报
回复
哎,不要这样说,俺还是个新手,过年准备跳槽,公司不让走,闲着没事就看看呗!tomcat启动不是通过 startup.bat启动的吗?貌似startup.bat调用了catalina.bat,这些是批处理文件,看了半天好纠结亚!
行云之云 2011-01-20
  • 打赏
  • 举报
回复
看源码了 高手
龙四 2011-01-20
  • 打赏
  • 举报
回复
LZ还是先巩固一下基础比较靠谱,不然白看了
coooliang 2011-01-20
  • 打赏
  • 举报
回复
就是接收命令行的参数!
gongfuliang 2011-01-20
  • 打赏
  • 举报
回复
比如 通过命令行启动程序,后面添加的参数,会被截取为args数组
  • 打赏
  • 举报
回复
就是个参数,一样啊。
liaojianbiao 2011-01-20
  • 打赏
  • 举报
回复
看源码了??确实牛叉。这个main函数主要是判断你启动命名时的参数,根据参数判断相应处理。
happyfmy 2011-01-20
  • 打赏
  • 举报
回复
我擦 看源码了 牛逼!

就是参数么 类似

tomcat启动的时候 tomcat start

参数就是start
铁匠梁 2011-01-20
  • 打赏
  • 举报
回复
觉得还是配置文件来得直接

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧