求大佬们帮帮忙 这是我cmd启动的代码 一些配置文件我看了一下路径都是对的 在我本机上启动是正常的 我放在虚拟机里启动就闪退 private static void startTomcatFromJavaCmd(String tomcatHome, boolean loadtimeWeaving){
String configPath = tomcatHome + "\\test\\config.xml";
try {
writeConfigFile(tomcatHome, configPath);
} catch (IOException e) {
e.printStackTrace();
}
Options options = Global.v().getOptions();
String agentDLL = options.getTomcatAgentDLL();
String jreHome = System.getProperty("java.home");
String hookerPath = options.getHookerPath();
String javaBin = "\"" + jreHome + "\\bin\\java.exe\"";
String cmdline = javaBin + " -agentpath:\"" + agentDLL + "\"=\"" + configPath +"\""
+ " -Xbootclasspath/p:\"" + hookerPath + "\" -noverify"
+ " -Djava.util.logging.config.file=\"" + tomcatHome + "\\conf\\logging.properties\""
+ " -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+ " -Djava.endorsed.dirs=\"" + tomcatHome + "\\endorsed\""
+ " -classpath \"" + tomcatHome + "\\bin\\bootstrap.jar\";\""
+ tomcatHome + "\\bin\\tomcat-juli.jar\""
+ " -Dcatalina.base=\"" + tomcatHome + "\""
+ " -Dcatalina.home=\"" + tomcatHome + "\""
+ " -Djava.io.tmpdir=\"" + tomcatHome + "\\temp\""
+ " org.apache.catalina.startup.Bootstrap start";
cmdline.hashCode();
List<String> cmdlineArgs = new ArrayList<String>();
cmdlineArgs.add("cmd");
cmdlineArgs.add("/c");
cmdlineArgs.add("start");
cmdlineArgs.add("/wait");
cmdlineArgs.add("\"Tomcat\"");
cmdlineArgs.add(javaBin);
if(options.isTomcatRemoteDebuggingEnabled()){
//-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
cmdlineArgs.add("-Xdebug");
cmdlineArgs.add("-Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n");
}
if(loadtimeWeaving){
String weaver = Global.v().getWeaverAgent();
cmdlineArgs.add("-javaagent:\"" + weaver + "\"");
}
cmdlineArgs.add("-agentpath:\"" + agentDLL + "\"=\"" + configPath +"\"");
cmdlineArgs.add("-Xbootclasspath/p:\"" + hookerPath + "\"");
cmdlineArgs.add("-noverify");
cmdlineArgs.add("-Djava.util.logging.config.file=\"" + tomcatHome + "\\conf\\logging.properties\"");
cmdlineArgs.add("-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager");
cmdlineArgs.add("-Djava.endorsed.dirs=\"" + tomcatHome + "\\endorsed\"");
cmdlineArgs.add("-classpath");
cmdlineArgs.add("\"" + tomcatHome + "\\bin\\bootstrap.jar\";\"" + tomcatHome + "\\bin\\tomcat-juli.jar\"");
cmdlineArgs.add("-Dcatalina.base=\"" + tomcatHome + "\"");
cmdlineArgs.add("-Dcatalina.home=\"" + tomcatHome + "\"");
cmdlineArgs.add("-Djava.io.tmpdir=\"" + tomcatHome + "\\temp\"");
cmdlineArgs.add("org.apache.catalina.startup.Bootstrap");
cmdlineArgs.add("start");
Map<String,String> env = new HashMap<String,String>();
String dir = tomcatHome;
CmdRunner.runCommand(dir, env, cmdlineArgs, true, false);
}
String configPath = tomcatHome + "\\test\\config.xml";
try {
writeConfigFile(tomcatHome, configPath);
} catch (IOException e) {
e.printStackTrace();
}
Options options = Global.v().getOptions();
String agentDLL = options.getTomcatAgentDLL();
String jreHome = System.getProperty("java.home");
String hookerPath = options.getHookerPath();
String javaBin = "\"" + jreHome + "\\bin\\java.exe\"";
String cmdline = javaBin + " -agentpath:\"" + agentDLL + "\"=\"" + configPath +"\""
+ " -Xbootclasspath/p:\"" + hookerPath + "\" -noverify"
+ " -Djava.util.logging.config.file=\"" + tomcatHome + "\\conf\\logging.properties\""
+ " -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+ " -Djava.endorsed.dirs=\"" + tomcatHome + "\\endorsed\""
+ " -classpath \"" + tomcatHome + "\\bin\\bootstrap.jar\";\""
+ tomcatHome + "\\bin\\tomcat-juli.jar\""
+ " -Dcatalina.base=\"" + tomcatHome + "\""
+ " -Dcatalina.home=\"" + tomcatHome + "\""
+ " -Djava.io.tmpdir=\"" + tomcatHome + "\\temp\""
+ " org.apache.catalina.startup.Bootstrap start";
cmdline.hashCode();
List<String> cmdlineArgs = new ArrayList<String>();
cmdlineArgs.add("cmd");
cmdlineArgs.add("/c");
cmdlineArgs.add("start");
cmdlineArgs.add("/wait");
cmdlineArgs.add("\"Tomcat\"");
cmdlineArgs.add(javaBin);
if(options.isTomcatRemoteDebuggingEnabled()){
//-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
cmdlineArgs.add("-Xdebug");
cmdlineArgs.add("-Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n");
}
if(loadtimeWeaving){
String weaver = Global.v().getWeaverAgent();
cmdlineArgs.add("-javaagent:\"" + weaver + "\"");
}
cmdlineArgs.add("-agentpath:\"" + agentDLL + "\"=\"" + configPath +"\"");
cmdlineArgs.add("-Xbootclasspath/p:\"" + hookerPath + "\"");
cmdlineArgs.add("-noverify");
cmdlineArgs.add("-Djava.util.logging.config.file=\"" + tomcatHome + "\\conf\\logging.properties\"");
cmdlineArgs.add("-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager");
cmdlineArgs.add("-Djava.endorsed.dirs=\"" + tomcatHome + "\\endorsed\"");
cmdlineArgs.add("-classpath");
cmdlineArgs.add("\"" + tomcatHome + "\\bin\\bootstrap.jar\";\"" + tomcatHome + "\\bin\\tomcat-juli.jar\"");
cmdlineArgs.add("-Dcatalina.base=\"" + tomcatHome + "\"");
cmdlineArgs.add("-Dcatalina.home=\"" + tomcatHome + "\"");
cmdlineArgs.add("-Djava.io.tmpdir=\"" + tomcatHome + "\\temp\"");
cmdlineArgs.add("org.apache.catalina.startup.Bootstrap");
cmdlineArgs.add("start");
Map<String,String> env = new HashMap<String,String>();
String dir = tomcatHome;
CmdRunner.runCommand(dir, env, cmdlineArgs, true, false);
}
解决方案 »
- 关于tomcat5.x
- Myeclipse开发hibernate 连接Oracle10g报错 【在线等】
- 用JSP怎么制作“2009-06-19”这样的日期的下拉列表?
- 如何输出变量,在线等,马上结贴.
- 问一个在Action中使用Log4j的问题..
- 怎么能在其他机器上上传文件?!
- 哪位眼神好的先生帮我看看,谢谢!
- asix问题
- 页面向银行提交信息时如何确保安全
- SSH框架,没有关联的实体可以添加,做过关联的无法添加数据。
- java后台程序怎么判断前端web页面是否在运行还是关闭?
- 求高手解答:DelegatingFilterProxy 配置 tomcat启动报错 NoSuchBeanDefinitionException
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)64位jdk一定要有 64-Bit 字样,没有的默认是32位。