java程序启动 tomcat 无法完成_____分不多,还请见谅

问题描述

JDK版本 : 1.6JDK变量配置 : classpath=C:Javajdk1.6.0bin JAVA_HOME=C:Javajdk1.6.0 Path=C:Javajdk1.6.0bintomcat版本 : 6.xtomcat路径 : F:apache-tomcat-6.0.20通过使用 Runtime.getRuntime().exec("cmd /C start F:\apache-tomcat-6.0.20\bin\startup.bat")命令调用tomcat 启动文件,无法成功 error: The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program却不清楚bat文件中应该修改哪些地方 startup.bat@echo offrem set JAVA_HOME=D:Program FilesJavajdk1.6.0_11;rem Licensed to the Apache Software Foundation (ASF) under one or morerem contributor license agreements. See the NOTICE file distributed withrem this work for additional information regarding copyright ownership.rem The ASF licenses this file to You under the Apache License, Version 2.0rem (the "License"); you may not use this file except in compliance withrem the License. You may obtain a copy of the License atremrem http://www.apache.org/licenses/LICENSE-2.0remrem Unless required by applicable law or agreed to in writing, softwarerem distributed under the License is distributed on an "AS IS" BASIS,rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.rem See the License for the specific language governing permissions andrem limitations under the License.if "%OS%" == "Windows_NT" setlocalrem ---------------------------------------------------------------------------rem Start script for the CATALINA Serverremrem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $rem ---------------------------------------------------------------------------rem Guess CATALINA_HOME if not definedset CURRENT_DIR=%cd%if not "%CATALINA_HOME%" == "" goto gotHomeset CATALINA_HOME=%CURRENT_DIR%if exist "%CATALINA_HOME%bincatalina.bat" goto okHomecd ..set CATALINA_HOME=%cd%cd %CURRENT_DIR%:gotHomeif exist "%CATALINA_HOME%bincatalina.bat" goto okHomeecho The CATALINA_HOME environment variable is not defined correctlyecho This environment variable is needed to run this programgoto end:okHomeset EXECUTABLE=%CATALINA_HOME%bincatalina.batrem Check that target executable existsif exist "%EXECUTABLE%" goto okExececho Cannot find %EXECUTABLE%echo This file is needed to run this programgoto end:okExecrem Get remaining unshifted command line arguments and save them in theset CMD_LINE_ARGS=:setArgsif ""%1""=="""" goto doneSetArgsset CMD_LINE_ARGS=%CMD_LINE_ARGS% %1shiftgoto setArgs:doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end

解决方案

这个可能是启动目录设置有问题,就是Runtime.getRuntime().exec,执行的时候的当前目录并不是tomcat的目录,我建议你要么手工设置一下%CATALINA_HOME%,要么就是调用这个exec(String command, String[] envp, File dir) 其中第三个参数设置为tomcat的目录即new File("F:'apache-tomcat-6.0.20")
解决方案二:
没有设置CATALINA_HOME环境变量吧。配置一个就应该可以解决问题了吧
解决方案三:
当然..上面要new File("F:\'apache-tomcat-6.0.20")

时间: 2024-10-29 21:47:59

java程序启动 tomcat 无法完成_____分不多,还请见谅的相关文章

Linux系统小技巧(1):/dev/random设备可能导致java程序启动慢或者操作耗时不正常

致因 Linux系统上的设备/dev/random和/dev/urandom是不同的.这点可以使用下面的命令测试出来(执行会耗费几分钟时间,请有心理准备) for dev in /dev/random /dev/urandom;do echo "test ${dev}: " time dd if=${dev} bs=512 count=1 > /dev/null 2>&1 time dd if=${dev} bs=512 count=1 > /dev/null

Linux问题情报分享(1):内核Stack Clash补丁导致Java程序启动失败

关于Stack Clash,缺少耐心的读者,请参考Stack Clash 漏洞正粉碎 Linux 防御危及 root 权限,较全面的介绍请参考Stack Guard Page Circumvention Affecting Multiple Packages. 各个Linux发行版都已经发布了升级,合并了上游补丁. 上游补丁通过增大stack guard gap(堆栈保护措施,更多请参考Buffer overflow protection)尺寸到1M的方式,修复了Linux Kernel Sta

java程序启动时cpu和负载高探索

这两天协助运维定位1个监控程序CPU占用率达到150%的问题,过程曲折,结论简单,很有意思:) 首先我们来看一下cpu高时候截图: 可以看到红色框中的监控程序CPU占用率都很高,但其实这些监控程序的实现很简单:发送1个http请求,收到响应后简单判断一下响应码,然后打印监控结果,打印完成就退出了.每次监控都会重新由daemon程序拉起运行. 这么简单的业务占用这么高的cpu,怎么感觉都不太可能,于是拿到监控程序的源码开始定位. 第一个想到的是VisualVm.JConsole等工具,但由于程序很

不错的linux下通用的java程序启动脚本(转载)

  转自:http://www.cnblogs.com/langtianya/p/4164151.html 虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其

Java程序性能优化(辛苦了几个小时,还经历了一次停电,我真是命苦!)

程序|性能|优化 Java程序性能优化 一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子:import java.util.Vector;class CEL {    void method (Vector vector) {        for (int i = 0; i < vector.size (); i++)  // Violation            ; //

关于Java的runtime的以下代码,如何让notepad保持开着的状态而结束java程序。

问题描述 关于Java的runtime的以下代码,如何让notepad保持开着的状态而结束java程序. import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.io.IOException; public class Robot05 { // Create an array of keycode data static int keyInput[] = {

Java程序员的日常 —— 多进程开发

最近再弄进程管理相关的工作,因此必要的就涉及到各种系统下关于进程的管理. 这里简单的介绍下: 如何在Java中执行命令 在windows下肯定是dos命令了,而在linux则为shell命令.执行的方式差不多相同: 方法1:Runtime windows版本: Process process = Runtime.getRuntime().exec("ipconfig /all"); Linux版本: Process process = Runtime.getRuntime().exec

myeclipse中启动tomcat报错

问题描述 myeclipse中启动tomcat报错 在myeclipse中启动tomcat时报错,不知道怎么解决,请网友指点:报错信息如下Deployment is out of date due to changes in the underlying project contents.You'll need to 'Redeploy' the project to update the deployed archive; 警告提示是:构建路径指定执行环境 JavaSE-1.6.工作空间中没有

string-java 程序运行出现String index out of range: -1异常请各位大神指教

问题描述 java 程序运行出现String index out of range: -1异常请各位大神指教 import java.awt.*; import javax.swing.*; import java.sql.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.State