java - Gradle Wrapper 将运行时参数包装在构建调用中

标签 java gradle gradlew

目前,我们有一个使用 Gradle 2.3 构建的应用程序(使用 ShadowJar plugin 构建独立的“fat JARS”),并使用以下构建调用进行构建:

gradle clean build shadowJar

这会在 build/distributions 下生成一个胖 JAR。

要实际运行应用程序,需要大量运行时参数,例如:

java -jar build/distributions/myapp.jar -Dfizz=true -Dbuzz=false -Dfoo=1 -Dbar=yes -Dgizmo=405

实际上还有许多其他参数。这些运行时参数是特定于环境的,并且在运行该应用程序的每台计算机上都不同,因此它们不能在 build.gradle 文件内的某个位置进行硬编码。有人向我提到,可以使用 Grails Wrapper 来抽象这些运行时参数,这样我也许可以只运行 ./gradlew run 并将其配置为执行与上面的 java -jar 命令相同的操作。

如果这是真的,这个设置会是什么样子?如果不是真的,为什么?

最佳答案

我相信你应该有一个名为 ini 的文件夹,其中包含 ini 文件,例如

android.ini

在每个 .ini 文件中,您将定义值,并且应该创建一个加载程序,该加载程序将确定需要使用什么 ini、加载文件、解析其内容并将它们存储到设置变量中。

关于java - Gradle Wrapper 将运行时参数包装在构建调用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28565697/

相关文章:

java - 用户 session 在 20 分钟后关闭

java - EasyMock 'Expected 1, Actual 1'

java - 使用Spring+dbcp刷新数据源

java.util.zip.ZipException : duplicate entry: AbstractHttpContent. 类

android - Jenkins : You have not accepted the license agreements of the following SDK components

java - 从 JPanel 中选择图像

gradle - 未执行Gradle复制和筛选任务

gradle - gradle 中的 Maven 站点

maven - 如何配置 Gradle 以查找本地 SNAPSHOT 资源?

android - KtLint 任务 ':app:ktlintAndroidTestDebugSourceSetCheck' 执行失败