2

我的 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 应用程序”项目时,这个项目工作正常。如果我从 cmd 构建并运行它,它也可以正常工作。

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

//编辑

内置程序(使用 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,结果相同。

4

3 回答 3

1

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

于 2010-10-14T13:46:26.660 回答
1

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

请检查您使用的是最新发布的 exec-maven-plugin。您还可以访问 netbeans issuetracking 来解决该问题,我相信您可能会在那里获得更多上下文。

于 2010-06-14T10:52:43.487 回答
0

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

这是 Netbeans 中记录的错误,位于:netbeans community

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

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

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

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

  • 选择“运行项目”
  • 将 Execute 目标更改为“process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec” 对“run File via main()”中的目标执行相同操作
于 2011-01-24T19:46:56.043 回答