Open nn200433 opened 7 months ago
private static String getLibHome() { // -javaagent:C:\runner\spring-startup-analyzer\lib\spring-profiler-agent.jar RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); List<String> jvmArgs = bean.getInputArguments(); for (String jvmArg : jvmArgs) { int index= jvmArg.indexOf(":"); if (index + 1 >= jvmArg.length()) { continue; } String value = jvmArg.substring(index + 1); if (value.endsWith(AGENT_JAR)) { return value.substring(0, value.lastIndexOf(File.separator) + 1); } } return System.getProperty("user.home") + File.separator + "spring-startup-analyzer" + File.separator + "lib" + File.separator; }
建议支持下 / 反斜杆,被坑到了😂,在 Windows 下 File.separator 只能识别到 \\ 。 所有的示例(包括置顶的优化示例)写的都是反斜杆:
/
\\
-Dspring-startup-analyzer.app.health.check.endpoints=http://localhost:8020/actuator/health -javaagent:C:/Users/huangyb1/spring-startup-analyzer/lib/spring-profiler-agent.jar
测试代码:
@Test public void test1() { RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); List<String> jvmArgs = bean.getInputArguments(); for (String jvmArg : jvmArgs) { int index= jvmArg.indexOf(":"); if (index + 1 >= jvmArg.length()) { continue; } String value = jvmArg.substring(index + 1); if (value.endsWith("spring-profiler-agent.jar")) { System.out.println("原文 = " + value); System.out.println("File.separator = " + value.substring(0, value.lastIndexOf(File.separator) + 1)); System.out.println("反斜杆 = " + value.substring(0, value.lastIndexOf("/") + 1)); } } // return System.getProperty("user.home") + File.separator + "spring-startup-analyzer" + File.separator + "lib" + File.separator; }
原文 = C:/Users/abc/spring-startup-analyzer/lib/spring-profiler-agent.jar File.separator = 反斜杆 = C:/Users/abc/spring-startup-analyzer/lib/
确实,我在win11系统 路径使用 / 一直启动找不到目录。原来是要用 \ 。。。。
还真是这个情况
建议支持下
/
反斜杆,被坑到了😂,在 Windows 下 File.separator 只能识别到\\
。 所有的示例(包括置顶的优化示例)写的都是反斜杆:测试代码:
原文 = C:/Users/abc/spring-startup-analyzer/lib/spring-profiler-agent.jar File.separator = 反斜杆 = C:/Users/abc/spring-startup-analyzer/lib/