【问题标题】:How can I change mainClassName in build.gradle during runtime?如何在运行时更改 build.gradle 中的 mainClassName?
【发布时间】:2021-06-26 20:39:49
【问题描述】:

我将 gradle 用于我在 java 中实现的多人游戏。

在项目中,我有两个名为 Server 和 Client 的类,我希望能够选择在运行时运行哪一个。有什么方法可以通过在命令行中为 gradle 任务提供参数来做到这一点?例如,我想使用类似的东西 ./gradlew run -server 运行 Server.java 和./gradlew run -client 运行 Client.java。

现在我在build.gradle 有这个:

plugins {
    id 'java'
    id 'application'
}


application {
    mainClassName = 'server.Server'
    mainModule = 'treasurehunt.main'
}

java {
    modularity.inferModulePath = true
}

repositories {
        mavenCentral()
}

这是我第一次使用 gradle,如果你能详细解释一下,我会很高兴。谢谢!

【问题讨论】:

    标签: java gradle build.gradle command-line-arguments


    【解决方案1】:

    你不能; Main-Class 属性被“烘焙到”罐子中。您可以做的是编写一个带有main 方法的小型启动器类,该方法读取命令行并调用Server.mainClient.main

    【讨论】:

      猜你喜欢
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多