【问题标题】:Can I execute a cmd command through java?我可以通过java执行cmd命令吗?
【发布时间】:2012-12-18 10:46:36
【问题描述】:

我正在制作一个程序,该程序需要一些已安装到计算机中的 Java 库以及要设置的“类路径”环境变量。

我想运行 set classpath 命令。我可以通过java来做吗?还是我需要做其他事情?有什么例子吗?

【问题讨论】:

  • 您可以使用Runtime.getRuntime().exec("<command>") 来执行命令行命令。但我不确定这是否真的是你想要做的..
  • 试试 java -classpath .;myjar.jar;lib/referenced-class.jar my.package.MainClass

标签: java cmd execute


【解决方案1】:

如果要设置系统属性,可以使用System.setProperty(key,value)

【讨论】:

  • 我认为这正是我所需要的——所以我现在知道无需在 Java 中运行 cmd 命令即可更改环境变量。谢谢
  • 只知道这些属性是不是全局的。看到这个答案:*.com/a/908965/226449
  • 你的意思是我改变的环境变量在我以后或在该机器上并行运行的另一个程序中不会有改变的值?如果我在一个进程中有多个线程怎么办?它也会在那里工作吗?
  • 另一个JVM/进程不会有改变的值,正确的。在同一进程(即另一个线程)中,它将显示更改的值。
【解决方案2】:

您只需要ProcessBuilder

【讨论】:

    【解决方案3】:

    是的,你可以。以下是一些示例,向您展示如何做到这一点:

    http://www.javaworld.com/jw-12-2000/jw-1229-traps.html

    http://www.ehow.com/way_5660016_java-runtime-exec-tutorial.html

    【讨论】:

      【解决方案4】:

      类似

      public static void main(String[] args)
      {
          try
          {
              if (args == null || (args != null && args.length != 1)) 
              {
              System.out.println("Please provide a command");
              }
              Runtime.getRuntime().exec(args);
          } 
          catch (Exception ex) 
          {
              ex.printStackTrace();
          }
      }
      

      【讨论】:

        【解决方案5】:

        set.exe 和其他程序一样。您可以使用Runtime.exec() 开头。

        【讨论】:

          最近更新 更多