【发布时间】:2021-06-15 05:55:39
【问题描述】:
我在 Eclipse EE (jdk 1.8) 中有一个 Maven 项目,我在命令行上使用 Maven 来构建和执行程序,使用以下命令:
mvn clean install exec:exec
所有依赖项都已添加到 pom.xml 文件中,我使用的是 Maven 3.6.3。 现在,假设我的主要方法如下:
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter string: ");
String str = input.nextLine();
}
}
现在,当我构建并运行它时,它会提示在输出“输入字符串:”之前提供输入。同样在向控制台输入内容后,它也不会出现。仅当按下 Enter 键时,键入的文本才会显示后跟“Enter string:”。
现在如果代码如下:
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter string: ");
String str = input.nextLine();
}
}
它首先输出“输入字符串:”,然后是提示。但是,这里也是,键入的文本只有在按 Enter 后才会出现。
但是,当在 Eclispe 中完成 Maven 构建时,键入的文本会毫无问题地显示。但是,存在“先输入后打印语句”。
我希望解决这些问题,因为我更喜欢 Maven 命令行。
这是maven-exec-plugin的配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>package_name.Main</argument>
</arguments>
</configuration>
</plugin>
【问题讨论】:
标签: java maven maven-exec-plugin