2017-05-12 51 views
0

我正在使用gradle「應用程序」插件來啓動我的應用程序。這很好。 現在我想添加選項以在同一個項目中啓動不同的主類。我可以更改插件的配置以允許嗎?具有多個主類的Gradle應用程序插件

apply plugin: 'application' 

mainClassName = "net.worcade.my.MainClass" 
+0

什麼是要在此基礎上有條件配置的條件? –

+0

我接受建議。一個命令行參數,一個'-D'參數... – Jorn

+0

但是必須有一些你希望它成爲主類的條件。那是什麼? –

回答

2

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可以被命名爲任何你想要的
  • 設置主要爲適當
  • 明確了指定參數和系統屬性如果不需要

運行:

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 
相關問題