相关疑难解决方法(0)

如何将参数从命令行传递给gradle

我正在尝试将参数从命令行传递给java类.我关注这篇文章:http://gradle.1045684.n5.nabble.com/Gradle-application-plugin-question-td5539555.html但代码对我不起作用(也许它不适用于JavaExec?).这是我尝试过的:

task listTests(type:JavaExec){
    main = "util.TestGroupScanner"
    classpath = sourceSets.util.runtimeClasspath
    // this works...
    args 'demo'
    /*
    // this does not work!
    if (project.hasProperty("group")){
        args group
    }
    */
}
Run Code Online (Sandbox Code Playgroud)

上述硬编码args值的输出为:

C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests
:compileUtilJava UP-TO-DATE
:processUtilResources UP-TO-DATE
:utilClasses UP-TO-DATE
:listTests
Received argument: demo

BUILD SUCCESSFUL

Total time: 13.422 secs
Run Code Online (Sandbox Code Playgroud)

但是,一旦我更改代码以使用hasProperty部分并在命令行上传递"demo"作为参数,我会得到一个NullPointerException:

C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests -Pgroup=demo -s

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle\build.gradle' line:25

* What went wrong:
A problem occurred evaluating root project 'testgradle'.
> java.lang.NullPointerException (no error …
Run Code Online (Sandbox Code Playgroud)

gradle

90
推荐指数
6
解决办法
14万
查看次数

如何将命令行参数传递给 Gradle Kotlin DSL

这是来自 Groovy 的一个示例,它准确地代表了我想要实现的目标:

Command line:

./gradlew jib -PmyArg=hello
Run Code Online (Sandbox Code Playgroud)

build.gradle.kts

task myTask {
    doFirst {
       println myArg
       ... do what you want
    }
}
Run Code Online (Sandbox Code Playgroud)

此示例的来源在这里 - 选项 3。

如何myArg在 Kotlin DSL 中读取传递和读取值?

groovy gradle kotlin

10
推荐指数
2
解决办法
3879
查看次数

在java中基于空格分割一个字符串,用双引号和单引号转义那些空格以及前面带\

我对正则表达式完全不熟悉.我正在尝试将一个表达式放在一起,该表达式将使用未被单引号或双引号括起的所有空格拆分示例字符串,并且前面没有'\'

例如:-

He is a "man of his" words\ always
Run Code Online (Sandbox Code Playgroud)

必须拆分为

He
is 
a 
"man of his"
words\ always
Run Code Online (Sandbox Code Playgroud)

我明白

List<String> matchList = new ArrayList<String>();
Pattern regex = Pattern.compile("[^\\s\"']+|\"[^\"]*\"|'[^']*'");
Matcher regexMatcher = regex.matcher(StringToBeMatched);
while (regexMatcher.find()) {
    matchList.add(regexMatcher.group());
}
Run Code Online (Sandbox Code Playgroud)

l使用未被单引号或双引号括起的所有空格拆分示例字符串

如果前面有一个\ _,那么如何合并忽略空白区域的第三个条件?

java regex string

6
推荐指数
1
解决办法
1303
查看次数

标签 统计

gradle ×2

groovy ×1

java ×1

kotlin ×1

regex ×1

string ×1