解决方案 »

  1.   

    试了一下,和我刚才的结果一样,运行后tomcat报以下错误。
    2008-2-21 16:17:12 org.apache.coyote.http11.Http11Protocol init
    严重: Error initializing endpoint
    java.net.BindException: Address already in use: JVM_Bind:8080
            at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoi
    nt.java:264)
            at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:137)        at org.apache.coyote.tomcat5.CoyoteConnector.initialize(CoyoteConnector.
    java:1429)
            at org.apache.catalina.core.StandardService.initialize(StandardService.j
    ava:609)
            at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
    a:2384)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:507)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:250)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:424)
    2008-2-21 16:17:12 org.apache.catalina.startup.Catalina load
    严重: Catalina.start
    LifecycleException:  Protocol handler initialization failed: java.net.BindExcept
    ion: Address already in use: JVM_Bind:8080
            at org.apache.coyote.tomcat5.CoyoteConnector.initialize(CoyoteConnector.
    java:1431)
            at org.apache.catalina.core.StandardService.initialize(StandardService.j
    ava:609)
            at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
    a:2384)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:507)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:250)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:424)
    2008-2-21 16:17:12 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 1359 ms-----
    然后就自己关闭了,好像是8080端口的问题。
    应用程序那个tomcat已经改成80端口了,不知道为什么?
      

  2.   

    查下configure文件好了尝试了一下,Runtime.getRuntime().exec("cmd.exe   /c   start   D:\\tomcat\\bin\\startup.bat")   ; 这样有问题应该是环境变量有问题。只要例外一个tomcat run的人的权限足够就都可以做就是有些烦,你都可以自己写个text接受你输入的命令。
      

  3.   

    谢谢上面的指教。
    我建立了两个bat文件
    re1.bat
    set JAVA_HOME=C:\Sun\AppServer\jdk
    set CATALINA_HOME=D:\tomcatWeb
    call %CATALINA_HOME%\bin\shutdown.batre2.bat
    set JAVA_HOME=C:\Sun\AppServer\jdk
    set CATALINA_HOME=D:\tomcatWeb
    call %CATALINA_HOME%\bin\startup.battomcatWeb的端口是8080
    又启动了一个tomcatReLoad,端口是9080,建一个页面,执行
    Runtime   run   =   Runtime.getRuntime();    
    run.exec("c:\\re1.bat");
    或是
    run.exec("c:\\re2.bat");现在的问题是不管运行哪个bat,都是对tomcatReLoad这个tomcat启作用。而我明明设置了
    set CATALINA_HOME=D:\tomcatWeb有高手知道原因么?