使用Netbeans在Maven项目中破碎的控制台

时间:2010-06-14 06:33:56

标签: java maven-2 netbeans maven netbeans6.8

我的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 Project似乎被打破了。它只是忽略了我的输入。它看起来像String param= s.next();中的“不定式循环”(或者像放置在不定式循环中的String param= s.next();一样)

然而,当它被编译为“Java Aplication”项目时,这个项目工作正常。它也适用于O.K.如果我从cmd构建并运行它。

系统信息: Os:Vista IDE:Netbeans 6.8 Maven:apache-maven-2.2.1

//修改

内置程序(使用来自Netbeans的mavean)工作正常(我可以从Windows cmd运行它)。我只是无法测试它(使用Netbeans运行或 debug:()。

我想我忘了问这个问题;)。所以当然我的第一个问题是:我该如何解决这个问题?

第二是:这是否有任何解决方法?例如,配置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,结果相同。

3 个答案:

答案 0 :(得分:1)

我回想起一段时间修复一些类似的问题,不记得它是在6.8之前还是之后。 问题是双重的,在maven构建本身内有输入转换(因为它在分叉进程中运行应用程序/不同的jvm。 然后在netbeans控制台中我们再次不得不再次进入输入管道。

请检查您使用的是最新发布的exec-maven-plugin。你也可以针对这个问题找到netbeans issuetracking,我相信你可能会在那里得到更多的背景信息。

答案 1 :(得分:1)

您可以使用exec目标exec:java在同一个vm中运行应用程序(默认为exec:exec - new vm)。

答案 2 :(得分:0)

我在使用NetBeans 6.9.1和Maven 3.0.2时遇到了同样的问题。

这是Netbeans在netbeans community

中记录的错误

事实证明问题出在版本1.2中修复的org.codehaus.mojo:exec-maven-plugin

要在netbeans中解决此问题,您可以将项目根目录中的nbactions.xml文件更改为

        <goals>
            <goal>process-classes</goal>
            <goal>org.codehaus.mojo:exec-maven-plugin:1.2:exec</goal>
        </goals>

或修改“操作”下的项目属性:

  • 选择“运行项目”
  • 将执行目标更改为“process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec”对“通过main()运行文件”中的目标执行相同操作