话说tomcat_homehe java_home的作用

答案是这样的:

你可能把tomcat装在c:/tomcat里,也可能把tomcat装在d:/jerrymouse里,tomcat怎么知道自己的文件都在哪儿呢? 在Windows里面程序可以到registry里查,java是跨平台的,不应该读registry,而应该利用更通用的途径,比如象tomcat_home这样的操作系统环境变量。

为了保持独立与操作系统的特性,java程序并不能直接读到操作系统环境变量。如果不用任何诡计,java程序只能“求”你在启动程序的时候利用java的-D参数把变量告诉它。比如java -Djava_home=%java_home% start_the_servlet_engine.你一定很讨厌每次都打如-D...那些东西,所以通常这种东西都放在一个.bat文件或是unix的.sh文件里。

实际上tomcat就是这样利用java_home的,用这个办法找到java编译器,然后调用java编译器来编译jsp和servlet程序。至于tomcat_home,可能只是.bat文件里用的。因为.bat文件里不应该写c:/tomcat/bin/start_engine这样的话,以防你的tomcat躲在d:/jerrymouse里,所以它写成%tomcat_home%/bin/start_engine。(我不记得具体的程序名,可能不是"start_engine"是别的什么东东,但是这个道理。

java程序怎样读-D参数给的变量? 用System.getProperty("变量名")。

如果你想读到Windows的那些环境变量(在cmd窗口里用set看到的那些),就要用一些阴谋诡计,那样的程序通常很丑陋。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值