使用gradle中的参数运行可执行jar

时间:2016-06-20 14:06:48

标签: gradle

我希望从我的gradle文件中运行可执行jar。我绑了:

task runJar(dependsOn:jar) << {
javaexec {
    main="-jar"; args "C:/Development/AndroidStudioProjects/AndroidDev/Test.jar"
  }
}

但我得到了#34;找不到财产&#39; jar&#39;在项目&#39;:MyProj&#34;

我也尝试过:

task runScheduleReader << {
javaexec {
    main = "MainClass"
    classpath = "C:/Development/AndroidStudioProjects/AndroidDev/Test.jar"
    args('1')
  }
}

我对grovy相对较新,你能帮助我吗? P.S ...我将这些功能放在android {}

之外

1 个答案:

答案 0 :(得分:2)

在任务声明中的第一个代码段dependsOn中,该任务runJar应仅在jar任务之后执行。你得到的例外情况是,你当前的项目没有这样的任务。所以,如果你真的不需要在之前执行jar任务,你就可以简单地解除这个任务依赖:

task runJar() << {
    javaexec {
        main="-jar"; args "C:/Development/AndroidStudioProjects/AndroidDev/Test.jar"
    }
}

虽然,这有点奇怪的情况,当你必须执行一些没有相对路径的jar时,这个解决方案应该可行。

第二个片段也应该传递jar作为参数,但这一次,它应该是一个参数数组,如下所示:

task runScheduleReader() << {
  javaexec { 
    main="-jar";
    args = [
            "C:/Development/AndroidStudioProjects/AndroidDev/Test.jar",
            "1"
           ]
  } 
}