我正在尝试将参数从命令行传递给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) 这是来自 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 中读取传递和读取值?
我对正则表达式完全不熟悉.我正在尝试将一个表达式放在一起,该表达式将使用未被单引号或双引号括起的所有空格拆分示例字符串,并且前面没有'\'
例如:-
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使用未被单引号或双引号括起的所有空格拆分示例字符串
如果前面有一个\ _,那么如何合并忽略空白区域的第三个条件?