具有多个主类的Gradle应用程序插件

问题描述 投票:2回答:2

我正在使用gradle'application'插件来启动我的应用程序。这很好用。现在我想添加选项以在同一个项目中启动另一个主类。我可以更改插件的配置以允许吗?

apply plugin: 'application'

mainClassName = "net.worcade.my.MainClass"
java gradle
2个回答
8
投票

来自http://mrhaki.blogspot.com/2010/09/gradle-goodness-run-java-application.html

apply plugin: 'java'

task(runSimple, dependsOn: 'classes', type: JavaExec) {
   main = 'com.mrhaki.java.Simple'
   classpath = sourceSets.main.runtimeClasspath
   args 'mrhaki'
   systemProperty 'simple.message', 'Hello '
}

显然,你可以改变什么:

  • runSimple可以根据需要命名
  • 设置主要适当的
  • 如果不需要,清除args和systemProperty

跑步:

gradle runSimple

您可以将任意数量的这些内容放入build.gradle文件中。


0
投票

使用javaExec任务来处理它:

task run(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath

    if (project.hasProperty('first')){
        if (chooseMain == 'Main1'){
            main = 'application.Main1'
        } else if (chooseMain == 'second'){
            main = 'application.Main2'
        }
    } else {
        println 'please pass the main name'
    }
}

从命令行以这种方式传递您的选项:

gradle run -PchooseMain=first
© www.soinside.com 2019 - 2024. All rights reserved.