7

Jarファイルをgradleで実行するタスクを作成しようとしています。

私は次のことを思いつきました:

task runJar(dependsOn:[jar]){
  ant.java(jar:,fork:true)
}

ただし、jar ファイルへのパスが見つかりません。どんな助けでも大歓迎です。ありがとうございました!

ミーシャ

編集:これはかなり奇妙です。このタスクはコンパイルなどの前に実行されます???

編集:修正。キーは doLast { } 表記、または省略形です

task runJar(dependsOn:"jar")<<{
  ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true)
}

ミーシャ

4

4 に答える 4

9

Kopporの答えは完全に機能します。

src/main/java に Main.java がある場合、build.gradle ファイルは次のようになります。

apply plugin: 'java'
apply plugin: 'application'

mainClassName = "Main"

実行すると、次のようになります。

gradle run                 

:compileJava
:processResources UP-TO-DATE
:classes
:run
[Main.java's output]
于 2013-11-24T23:56:02.757 に答える
3

The Application Pluginをお探しですか? 指定された Java クラスを実行する新しいタスク「run」を作成します。

于 2013-01-02T15:56:36.953 に答える
2

jar.archivePath変数を使用できるはずです;

task runJar(dependsOn:[jar]){
  ant.java(jar: jar.archivePath ,fork:true)
}
于 2010-07-29T05:35:25.427 に答える
1

これまでの私の最善の解決策:

task runJar(dependsOn:[jar]){
  ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true)
}

ありがとうございました!

ミーシャ

于 2010-06-17T16:25:57.790 に答える