uuid748
2010-04-01 17:48
浏览 455
已采纳

Tomcat从dos环境启动和作为Windows服务自动启动有什么区别?

如题。

我有一个程序,在dos启动Tomcat(监视程序执行情况)的时候,运行正常。但是一旦我让它作为Windows服务自动启动,就不运行了。很奇怪。然而我必须让它最终作为服务自动运行

系统是tomcat6.0,Windowsxp

action里就调用一个方法

public ActionForward dododo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
ShowLocal.show();

return null;
}

ShowLocal.show()就是打开一个本地文件
public class ShowLocal {

public static void show(){
Desktop desktop=Desktop.getDesktop();
File file=new File("c:\Program Files\pion","1.html");

System.out.println("我草!");

if(!file.exists()){
System.out.println("file不存在");
}else{
try {
desktop.open(file);
System.out.println(file.getAbsolutePath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("我草!");
}

在日志里两个“我草”都能打印。路径输出的也没错。 就是不能打开那个本地文件。。。。
哎。。。但是有那个dos对话框就能成功。。。。 为啥啊。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • hot_ejb 2010-04-08 22:36
    已采纳

    修改setclasspath.bat中的set _RUNJAVA="%JRE_HOME%\bin\java"为
    set _RUNJAVA="%JRE_HOME%\bin\javaw"即可隐藏命令窗口

    已采纳该答案
    打赏 评论
  • w_pingfan 2010-04-01 20:40

    我的理解是.
    1.从startup.bat启动时,内存配置使用是文件catalina.bat的配置.
    2.从服务启动时,内存要用tomcat6w.exe来配置.至于配置的值写到哪里,我不知道..

    从服务启动和从startup.bat启动应该是没什么区别.你或许尝试重装一个tomcat的服务.
    实现不行,重新装个tomcat吧,推荐使用解压版的tomcat,使用bin/service.bat来安装服务.
    安装: service.bat install [服务名]
    安装: service.bat remove [服务名]
    当只有一个tomcat时,[服务名]可不写,当在一台机子安装多个tomcat时,就要写上[服务名].

    祝你好运!

    打赏 评论
  • w_pingfan 2010-04-02 10:24

    解压版安装时注意,要配置好JAVA环境,不要配置CATALINA_HOME,TOMCAT_HOME。
    解压版安装后也有个服务,启动服务就行,也可从bin/startup.bat启动。

    打赏 评论

相关推荐 更多相似问题