开发者

gradle runJar task?

开发者 https://www.devze.com 2023-01-03 16:06 出处:网络
I am trying to make a task to run my Jar file in gradle. I have come up with the following: task runJar(dependsOn:[jar]){

I am trying to make a task to run my Jar file in gradle.

I have come up with the following:

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

However, I am unable to find the path to the jar file. Any help much appre开发者_如何学运维ciated. Thank you!

Misha

EDIT: OK this is rather odd. This task runs before compile, etc.???

EDIT: Fixed. The key is in a doLast { } notation, or, in shorthand

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

Misha


Koppor's answer works perfectly.

With a Main.java in src/main/java, my build.gradle file looks like

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

mainClassName = "Main"

Running it gives:

gradle run                 

:compileJava
:processResources UP-TO-DATE
:classes
:run
[Main.java's output]


Are you looking for the The Application Plugin? It creates a new task "run", which runs the specified java class.


You should be able to use the jar.archivePath variable ;

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


My best solution so far:

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

Thank you!

Misha

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号