首页 > 其他分享 >执行系统命令

执行系统命令

时间:2024-04-15 14:55:23浏览次数:19  
标签:系统命令 process 命令 command 执行 archetype String

依赖hutool工具类

// 定义要执行的shell命令
String command = StrUtil.format("source /etc/profile;source ~/.bash_profile;cd {};$MAVEN_HOME/bin/mvn --settings $MAVEN_HOME/conf/settings.xml archetype:generate -B " +
                        "    -DarchetypeGroupId={}" +
                        "    -DarchetypeArtifactId={}" +
                        "    -DarchetypeVersion={}" +
                        "    -DgroupId={}" +
                        "    -DartifactId={}" +
                        "    -Dversion={} &>{}",
                codeDest,
                archetype.getArchetypeGroupId(),
                archetype.getArchetypeArtifactId(),
                archetype.getArchetypeVersion(),
                archetype.getGroupId(),
                archetype.getArtifactId(),
                archetype.getVersion(),
                logLocation);

// 拼接命令行数组,这个是必须的,因为要用到shell 的特性
String[] cmd = {
                "/bin/bash", "-c",
                command
        };
// 执行命令
Process process = RuntimeUtil.exec(cmd);
// 等待命令执行完毕
int exitCode = process.waitFor();

  if (exitCode != 0) {
      throw new BusinessException("调用本地系统命令异常,命令如下:" + command + ",结果异常,详情见日志文件" + logLocation);
  }

// 获取命令返回结果
String result = RuntimeUtil.getResult(process);

标签:系统命令,process,命令,command,执行,archetype,String
From: https://www.cnblogs.com/PythonOrg/p/18135956

相关文章

  • 图解 SQL 执行顺序,通俗易懂!
      数据的关联过程from&join&wheregroupbyhaving&whereselectorderbylimit这是一条标准的查询语句: 这是我们实际上SQL执行顺序:我们先执行from,join来确定表之间的连接关系,得到初步的数据where对数据进行普通的初步的筛选groupby分组各组分别执行havi......
  • 2、APIView执行流程以及request对象源码分析
    一、基于View编写5个接口1、创建模型表models.pyfromdjango.dbimportmodelsclassBook(models.Model):name=models.CharField(max_length=64)price=models.IntegerField()publish=models.CharField(max_length=32)2、视图函数views.pyfrom......
  • 命令执行
    Linux特有:;前面的执行完执行后面的Windows:|管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)||当前面的执行出错时(为假)执行后面的&将任务置于后台执行&&前面的语句为假则直接出错,后面的也不执行,前面只能为真%0a(换行)%0d(回车)命令注入-无过滤127......
  • java中cron表达式 每10分钟执行一次
    在Java中,可以使用Quartz框架来定义和调度任务,包括使用Cron表达式来定义任务的执行时间。下面是一个使用Quartz框架实现每10分钟执行一次任务的示例:添加Quartz依赖在Maven项目中,添加以下依赖到pom.xml文件中:<dependency><groupId>org.quartz-scheduler</groupId><arti......
  • 在代码中获得linux shell命令执行结果的方法
    1.使用``符号``符号,及键盘左上角的反引号,类似markdown的内嵌代码,可以直接获得命令的执行结果作为字符串。charbuf[100];sprintf(buf,"echo\"`date`:%d\">>~/test_data.txt",123);system(buf);2.使用管道#defineCMD_RESULT_BUF_SIZE1024intExecute......
  • CMake通过外部传参执行不同逻辑的2种方案
    CMake通过外部传参执行不同逻辑的2种方案有时候一些场景需要在执行cmake指令时传入一些参数的值,使得CMakeLists.txt文件中的程序执行不同的逻辑,下面给出2种方案。1、SET指令给参数默认值SET(BUILD_PLATFORM"x86"CACHESTRING"selectbuildcputype")#外部用cmake.-DBUI......
  • godot导出可执行程序
    godot导出可执行程序为什么要导出将项目到处为可执行程序,用于向别人分享自己的游戏支持的平台目前godot支持导出到常见平台:Linux/x11WindowsMacOSAndroidiosweb步骤导出模板首先下载并导入官方提供的导出模板​,详细信息参考官方文档注意:导出模板​与godot版本存......
  • SQL 执行大脚本 提示内存不足 解决办法
    SQL 执行大脚本 提示内存不足 解决办法 用微软自带的sqlcmd工具,可以导入执行。以SQL Server 2008R版本为例:第一步:Win+R 键入:cmd 命令,开启命令行工具;第二步:键入:cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn (具体目录路径跟你安装的SQL位置有关)第三步:键入......
  • 在Linux中,如何编写一个脚本来自动执行日常任务?
    在Linux中,编写脚本以自动执行日常任务是一种常见的自动化方法。这些脚本可以利用shell的命令行功能来简化重复性工作,提高效率。以下是一个简单的shell脚本编写和执行的步骤:1.选择脚本编辑器首先,选择一个文本编辑器来编写脚本。常用的编辑器有vi、nano、emacs等。2.创建脚本文......
  • Oracle关于半连接SQL执行计划的执行路径一些有趣的实验
     Oracle关于半连接SQL执行计划的执行路径一些有趣的实验 从摩天轮的问答里边看到的一个问题,https://www.modb.pro/issue/34573大概有这么条SQL(包括环境构造语句),如何强制走出nestedloops的执行路径。createtabletb1asselect*fromdba_objects;createtabletb2as......