日期:2014-05-19 浏览次数:20719 次
自己打包jdk到j2ee服务器中,只要用jboss、tomcat等免费服务器的同事们,就会碰到这样的问题。
?
现在贴下自己总结的给大家分享:以jboss为例
?
?
第一步: 需要把jdk目录拷贝到jboss目录中比如起名叫jdk1.5.0_06
?
目录结构如下:
?
jboss-4.0.3SP1----| ..bin
???????????????????????????? | ..client
???????????????????????????? | ..jdk1.5.0_06
???????????????????????????? | ..lib
?????????????????????????????| ..server
???????????????????????????? | ..docs
?
?
注意:这里是jdk而不是jre各位同仁注意了
?
第二步:修改run.bat文件
?
这里我说下自己的实现方式、一般开发自己都配置 JAVA_HOME 的但是希望给客户的时候直接打包好。但是又不希望修改用户服务器的环境(或者服务器上存在别的 j2ee服务器以免冲突)
?
我这里实现是 判断用户机器是否存在 JAVA_HOME 环境变量,如果存在则直接使用客户机上的环境(故本配置十分灵活)
?
修改run.bat地方:?大家找到 在 :FOUND_RUN_JAR 和 ?:ADD_TOOLS 之间的代码
?
原来为如下:
?
if not "%JAVA_HOME%" == "" goto ADD_TOOLS set JAVA=java echo JAVA_HOME is not set. Unexpected results may occur. echo Set JAVA_HOME to the directory of your local JDK to avoid this message. goto SKIP_TOOLS
说明:原来是判断机器是否存在%JAVA_HOME%变量 如果存在则执行?ADD_TOOLS 往下执行,如果不存在 则执行SKIP_TOOLS 跳出命令行 打印出echo JAVA_HOME is not set.? Unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message. 信息,所以大家看明白的话 继续。。。。
?
现修改为如下
?
if "%JAVA_HOME%" == "" goto CONTINUE goto ADD_TOOLS :CONTINUE echo Could not locate %JAVA_HOME% and set %JAVA_HOME%=..\jdk1.5.0.06 set JAVA_HOME=..\jdk1.5.0_06
?
说明:现在改为先判断机器是否存在%JAVA_HOME%如果不存在则执行CONTINUE?? 这里本人把JAVA_HOME设置为针对当前dir的相对路径 即第一步中大家拷贝的jdk到jboss中的目录 set JAVA_HOME=..\jdk1.5.0_06
?
如果存在java_home的话 则继续执行ADD_TOOLS 往下执行 goto ADD_TOOLS,所以这里即使服务器没有配置环境变量照样可以使用jboss中自己拷贝的jdk了。
?
小需求:如果碰到客户服务器装有别的j2ee服务程序,但是你自己的工程和机器本身的环境不兼容。这里修改run.bat可固定设置为使用自己的jdk。
?
?
if "%JAVA_HOME%" == "" goto CONTINUE set JAVA_HOME=..\jdk1.5.0_06 goto ADD_TOOLS :CONTINUE echo Could not locate %JAVA_HOME% and set %JAVA_HOME%=..\jdk1.5.0.06 set JAVA_HOME=..\jdk1.5.0_06
?
说明:即无论如何都把JAVA_HOME环境设置为自己的jdk。这样也不失为一个万全之策。。。
?
?
呵呵。就这里吧。无奈水平有限,有同仁看不明白的话。可以发email给本人。。。 (闲暇之余回复哦)
?