Java 构建失败/然后传入Netbeans

Java 构建失败/然后传入Netbeans,java,netbeans,build,junit,netbeans-6.9,Java,Netbeans,Build,Junit,Netbeans 6.9,我在Netbeans 6.9.1中有一个Java多项目(大约15个子项目)。几乎所有这些都有JUNIT测试,应该在构建周期中运行。在向服务器提交自动构建之前,我在本地构建。我发现,在本地构建我有一个一致的问题: 如果我使用测试构建(只是常规的“构建”),它将失败。在我增加MaxPerm空间之前,它通常会因OOM PermSpace异常而失败。现在,它在为一个web服务项目解析WSDL时失败 如果我在第1步之后再次“构建”,它将通过测试成功完成 如果我不是#1,而是构建并跳过测试,它将在第一次成功

我在Netbeans 6.9.1中有一个Java多项目(大约15个子项目)。几乎所有这些都有JUNIT测试,应该在构建周期中运行。在向服务器提交自动构建之前,我在本地构建。我发现,在本地构建我有一个一致的问题:

  • 如果我使用测试构建(只是常规的“构建”),它将失败。在我增加MaxPerm空间之前,它通常会因OOM PermSpace异常而失败。现在,它在为一个web服务项目解析WSDL时失败
  • 如果我在第1步之后再次“构建”,它将通过测试成功完成
  • 如果我不是#1,而是构建并跳过测试,它将在第一次成功完成
  • 乍一看,在构建依赖项或运行测试时,这似乎是一个资源问题。但是,我们构建自动化服务器的构建在第一次运行时就很好,我有足够的内存空间分配

    我的同龄人也有同样的问题,并继续建设两次。这种变通方法是可行的,但我很好奇是否有Netbeans的老手有任何见解或类似的经验

    想法

    (编辑:)我认为这可能是配置,以下是我的默认选项:

    "netbeans_default_options-J-client -J-Xss2m -J-Xms32m -J-Xmx128m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m ..."
    

    我只是把它放在桌面上一段时间,但出于上述以外的原因,我安装了最新的Netbeans(7.1),默认情况下,它似乎已经解决了这个问题。或者至少比6.9更有效。默认情况下提供了以下启动属性:

    netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -JDapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"
    

    这远不如以前强壮,但似乎有效。我有过几次撞车,但没有以前那么严重。如果继续的话,我可能会稍微增加内存限制,但升级似乎可以用更少的资源解决大部分问题。

    XML解析中的字符串内部化有一个问题:。可能字符串在您的案例中被内部化了,并且占用了大量的perm空间,这是一种内存泄漏。两个问题:您是否尝试过在NetBeans之外构建,即使用Ant?你试过使用最新版本的NetBeans吗?@Paul-谢谢你的回复,是的。当我将作业提交到构建服务器时,它是在Netbeans之外构建的,并且第一次运行良好。这就是为什么我认为这是内部的配置或东西。。。