From 645a3d6bf1ebedda772f81c1795cf7766ec2ca25 Mon Sep 17 00:00:00 2001 From: BingChunMoLi <44092516+BingChunMoLi@users.noreply.github.com> Date: Sat, 23 Aug 2025 13:28:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BD=BF=E7=94=A8xy=5Frun=5Fcapture=20?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E6=9F=A5=E6=89=BE=E4=B8=8D=E5=88=B0maven=20h?= =?UTF-8?q?ome=20=E8=BF=94=E5=9B=9E=E9=94=99=E8=AF=AF=E7=9A=84=E7=BB=93?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/recipe/lang/Java.c | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/recipe/lang/Java.c b/src/recipe/lang/Java.c index a6e2f28..c3fd705 100644 --- a/src/recipe/lang/Java.c +++ b/src/recipe/lang/Java.c @@ -69,20 +69,40 @@ pl_java_find_maven_home (const char *line) char * pl_java_find_maven_config () { - char *maven_home_line = xy_run_iter ("mvn -v", 0, pl_java_find_maven_home); - char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); - char *maven_config = xy_normalize_path (xy_2strjoin (maven_home, "/conf/settings.xml")); - return maven_config; + char *output; + int status = xy_run_capture ("mvn -v", &output); + if (0==status) + { + char *maven_home_line = xy_run_iter ("mvn -v", 0, pl_java_find_maven_home); + char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); + char *maven_config = xy_normalize_path (xy_2strjoin (maven_home, "/conf/settings.xml")); + return maven_config; + } + else + { + printf("no maven home"); + } + return "~/.m2/settings.xml"; } char * pl_java_find_maven_daemon_config () { - char *maven_home_line = xy_run_iter ("mvnd -v", 0, pl_java_find_maven_home); - char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); - char *maven_config = xy_normalize_path (xy_2strjoin (maven_home, "/conf/settings.xml")); - return maven_config; + char *output; + int status = xy_run_capture ("mvnd -v", &output); + if (0==status) + { + char *maven_home_line = xy_run_iter ("mvnd -v", 0, pl_java_find_maven_home); + char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); + char *maven_config = xy_normalize_path (xy_2strjoin (maven_home, "/conf/settings.xml")); + return maven_config; + } + else + { + printf ("no maven home"); + } + return "~/.m2/settings.xml"; }