Java 为什么';gradle run';似乎只能从Windows命令行工作?
我使用的是Windows7,我使用的是gradle的IntelliJ插件 下面是简单的代码:Java 为什么';gradle run';似乎只能从Windows命令行工作?,java,intellij-idea,gradle,Java,Intellij Idea,Gradle,我使用的是Windows7,我使用的是gradle的IntelliJ插件 下面是简单的代码: import java.util.Arrays; import java.util.Scanner; public class Solution { public static void main(String[] args) { System.out.print("Input a string: "); Scanner in = new Scanner(S
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
System.out.print("Input a string: ");
Scanner in = new Scanner(System.in);
String input = in.next();
System.out.println("Method 1: " + doesStringHaveUniqueCharsMethod1(input));
}
private static boolean doesStringHaveUniqueCharsMethod1(String input) {
if (input.length() > 256) {
return false;
}
for (int i = 0; i < input.length(); i++) {
for (int j = 0; j < input.length(); j++) {
if (i != j && input.charAt(i) == input.charAt(j)) {
return false;
}
}
}
return true;
}
}
当我从命令行运行gradle-q run
时效果很好,但是当我使用IntelliJ gradle插件运行“run”任务时,我得到以下输出:
12:22:45 PM: Executing external task 'run'...
:compileJava
:processResources UP-TO-DATE
:classes
:run
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at Solution.main(Solution.java:9)
Input a string: :run FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':run'.
> Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 4.082 secs
Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 1
12:22:49 PM: External task execution finished 'run'.
这可能会有所帮助->
apply plugin: 'java'
task runTask(type: JavaExec) {
main = 'Solution'
classpath = sourceSets.main.runtimeClasspath
standardInput = System.in
}
defaultTasks 'runTask'
apply plugin: 'java'
task runTask(type: JavaExec) {
main = 'Solution'
classpath = sourceSets.main.runtimeClasspath
standardInput = System.in
}
defaultTasks 'runTask'