使用 Netbeans 的 Maven 项目中的控制台损坏
我的 Neatens+Maven 安装遇到了奇怪的问题。这是重现该问题的最短代码:
public class App
{
public static void main( String[] args )
{
// Create a scanner to read from keyboard
Scanner scanner = new Scanner (System.in);
Scanner s= new Scanner(System.in);
String param= s.next();
System.out.println(param);
}
}
当我在 Netbeans 控制台内将其作为 Maven 项目运行时,它似乎已损坏。它只是忽略我的输入。它看起来像 String param= s.next();
中的“不定式循环”(或者像 String param= s.next();
放置在不定式循环中)
但是这个当项目编译为“Java Aplication”项目时,它可以正常工作。如果我从 cmd 构建并运行它,它也可以正常工作。
系统信息: 操作系统:Vista IDE:Netbeans 6.8 Maven:apache-maven-2.2.1
//edit
构建的程序(使用 Netbeans 中的 mavean)工作正常(我可以从 Windows cmd 运行它)。我只是无法使用 Netbeans 测试它(运行或调试:()。
而且我想我忘了问这个问题;)。当然,我的第一个问题是:我该如何解决这个问题?
第二个问题是:有解决办法吗?例如,将 Netbeans 配置为运行外部命令行应用程序,而不是使用内置控制台。
//编辑 还有一个更新:
我使用 Exec Maven Plugin 版本 1.1.1 NB 6.9 RC2 中也出现此问题。在两个NB版本(6.8和6.9 RC2)中,我测试了maven 3.0-beta-1和maven-2.2.1,结果相同。
I have strange problem with my Neatens+Maven installation. This is the shortest code to reproduce the problem:
public class App
{
public static void main( String[] args )
{
// Create a scanner to read from keyboard
Scanner scanner = new Scanner (System.in);
Scanner s= new Scanner(System.in);
String param= s.next();
System.out.println(param);
}
}
When I'm running it as Maven Project inside Netbeans console seems to be broken. It just ignores my input. It's look like "infinitive loop" in String param= s.next();
(or like String param= s.next();
placed in infinitive loop)
However this project works fine when it's compiled as "Java Aplication" project. It also works O.K. if I build and run it from cmd.
System info:
Os: Vista
IDE: Netbeans 6.8
Maven: apache-maven-2.2.1
//edit
Built program (using mavean from Netbeans) works fine (I can run it from Windows cmd). I just can't test it (Run nor debug :() using Netbeans.
And I think I forgot to ask the question ;). So of course my first question is: how can I fix this problem?
And second is: Is it any workaround for this? For example configuring Netbeans to run external commend line app instead of using built in console.
//edit
one more update:
I use Exec Maven Plugin version 1.1.1
Problem also occurs in NB 6.9 RC2. In both NB versions (6.8 and 6.9 RC2) I tested maven 3.0-beta-1 and maven-2.2.1 with the same result.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我记得不久前修复过一些类似的问题,不记得是在6.8之前还是之后。
问题有两个方面,maven 构建本身存在输入转换(因为它在分叉进程/不同的 jvm 中运行应用程序)。
然后在 netbeans 控制台中,我们再次必须再次输入管道。
请检查您是否使用最新发布的 exec-maven-plugin。您还可以访问 netbeans 问题跟踪来解决该问题,我相信您可能会在那里获得更多背景信息。
I recall fixing some similar problem a while back, can't recall if it was before or after 6.8.
The problem is two fold, there's input conversion within the maven build itself (as it's running the app in forked process/different jvm.
then in netbeans console we again have to to the input piping again.
please check that you are using the latest released exec-maven-plugin. You can also reach the netbeans issuetracking for that problem, I'm sure you might get more context there.
您可以使用 exec 目标 exec:java 在同一虚拟机中运行应用程序(默认为 exec:exec - 新虚拟机)。
You can use the exec goal exec:java to run the app in the same vm (default is exec:exec - new vm).
我刚刚在使用 NetBeans 6.9.1 和 Maven 3.0.2 时遇到了同样的问题。
网址为:netbeans 社区
这是 Netbeans 中记录的一个错误, 问题出在 org.codehaus.mojo:exec-maven-plugin 上,该问题已在 1.2 版中修复。
要在 netbeans 中解决此问题,您可以将项目根目录中的 nbactions.xml 文件更改为
或修改“操作”下的项目属性:
I just encountered the same problem when using NetBeans 6.9.1 and Maven 3.0.2.
This was a bug documented in Netbeans here at: netbeans community
As it turns out the issue was with the
org.codehaus.mojo:exec-maven-plugin
which was fixed in version 1.2.To remedy this in netbeans you can change your nbactions.xml file in the root directory of your project to
or modify the project properties under 'Actions':