有没有办法停止NetBeans扫描项目?


67

我的PC上没有太多内存,处理器也很弱。尽管到目前为止,netbeans是我最喜欢的IDE,但是在我现有的计算机上使用它几乎是无法忍受的,因为打开程序时,项目扫描会自动开始。

有没有办法防止Netbeans扫描项目?


1
Netbeans 7.2岩石。没有扫描项目,但他们建议使用更高的CPU。
vels4j 2012年

请记住,导航器等需要进行后台扫描。列出所有类,方法,函数等。
MarcoZen

@MarcoZen问题是,我只希望扫描在特定的文件夹中进行...即使仅打开一个项目,扫描中仍存在一个巨大的错误,该错误将其陷入无尽的循环中,从而烧坏CPU。只有在这些问题得到解决的情况下:statistics.netbeans.org/analytics/detail.do? id= 201133 statistics.netbeans.org/analytics/detail.do?id=201432我可能会回到NetBeans:我已经尝试了所有解决方案下方,没有任何帮助...现在我又回到Aptana / Eclipse ...
Armfoot,2015年

@Armfoot-让我们希望事情变得更好。
MarcoZen

确实有一个非常好的解决方案。选择Eclipse或Intellij。
FuryFart 2015年

Answers:


55

嗨,乔治,我不知道这是否是答案,但是我右键单击并在不需要打开的项目上选择“关闭”。将所有过去的项目都列出在那里是没有意义的。只是将您正在开发的那个打开。您始终可以从菜单中重新打开其他项目。一旦关闭了所有您不使用的项目,则在您每次启动Netbeans时都不会对其进行扫描。


我通常在“文件”选项卡中工作,甚至不查看“项目”选项卡,只是在关闭扫描后立即看到其中列出了包含数千个文件的非常大的项目。非常感谢!
乔治,2010年

12
如果您正在处理的主项目很大且无法关闭,这将无济于事。我仍然遇到这个问题,后台扫描只是挂起并阻塞了所有内容几分钟。
user26270

20

除了为您真正使用的文件夹创建较小的项目,然后为它们分组的项目组(Mateng)之外,您还可以尝试排除那些永远不会使用的images文件夹,例如文件夹等。要忽略这些文件夹,请转到:

File > Project Properties > Ignored Folders > Add Folder...

从NetBeans帮助:

“忽略的文件”属性与“包含路径”相反。这些是PHP项目中的文件,您希望IDE忽略这些文件以进行FTP上传,扫描等。


2
太好了,这对我来说是一个具有数GB媒体文件的项目的解决方案。
pfrenssen

3
我发现这是唯一正确的答案。您可以选择一个包含大量文件的文件夹(例如img / dynamic),然后将其排除。
伊万

3
出色,将“ node_modules” [npm]和“供应商” [composer]添加到被忽略的文件夹使netbeans更好了
Raj Kamal

1
这是一个非常好的解决方案。它以显著方式提高后台扫描过程(排除node_modules例如肯定提高NetBeans的表演)
塞巴斯蒂安·吉凯尔

2
这是有效的解决方案-也尝试了其他解决方案
3und80

14

试试这个:http : //wiki.netbeans.org/ScanOnDemand

警告:目前,此插件仅适用于开发版本。请勿在官方版本中使用这些说明...

一旦启动NetBeans IDE,系统就会进行所谓的“最新检查”,以验证没有文件被更改。如果这在您看来需要太长时间,并且妨碍您执行工作,则可能对ScanOnDemand感兴趣。

ScanOnDemand的最基本功能是在IDE启动后禁用(可能很长)最新检查。这样做是在对您的源代码进行的大多数操作都在IDE内部完成的期望下完成的,因此,在IDE关闭时,不会发生重大更改,因此不需要重新扫描任何内容。确实,这可能并不完全准确,但是修复很容易,在极少数情况下,您使用其他工具对源进行了重大更新,只需手动触发刷新即可。

NetBeans IDE再次为您提供了更多控制权。您负责,决定做什么以及何时...

为了在这方面提供帮助,我们决定创建一个实验模块,该模块可在Update Center(自6.7版开始)上获得。该模块在某些情况下会忽略自动更新(例如,启动后和切换到主窗口后的最新检查)。调用重新扫描以使数据保持最新状态的责任在于用户-通过显式刷新操作...


这是最好的解决方案,IMO。允许您在知道有更改的情况下进行扫描,否则就不碍事。
伊恩

该插件未安装在我的7.1.1上。我经历了所有安装步骤,重新启动了netbeans,什么也没有。。。Netbeans进行了他通常的扫描,当我打开我的项目时,它在扫描项目过程中确实以82%的速度再次挂起-第四次;(Netbeans很大废话
纪尧姆·博伊斯

我试过了,但是它完全阻止了IDE的加载。在启动过程的“加载模块...”步骤中无限期地挂起。
约书亚伯恩斯

1
我在Netbeans 8.0.2上安装了此插件,此后,IDE甚至没有打开。看看这个错误!我不得不重新安装Netbeans ...
joaorodr84

1
@ joaorodr84我遇到了完全相同的问题...我尝试了至少2次。
Armfoot

10

停止NetBeans扫描项目:

   Menu -> Tools -> Options -> Miscellaneus -> Files -> Uncheck Enabel auto-scanning

停止Netbeans扫描项目


5
禁用此功能不能解决问题,至少并非总是如此。看起来应该如此,但事实并非如此。我已经清除了2个星期的设置,但扫描仍在继续。扫描显然与我的编辑有关,一方面。如果我在一个文件中更改一个字符,则会再次扫描整个shebang-所有项目。超级低效。-为了完成我的工作,我必须打开几个项目。-我非常想知道该怎么做。为什么NB族人不能只是让它真正停止?多年来一直是一个问题。对于NB人员来说,使其工作显然并不重要。
Iceberg 2015年

-我曾经喜欢NetBeans,但是被迫在一个项目上使用IntelliJ,在另一个项目上使用Eclipse。现在我有机会回到NetBeans,让我感到失望的人还活着!-通常不允许插件,尽管有些插件偶尔会被批准。因此,我不能只是将其投入查看是否有帮助。
Iceberg 2015年

-也不再需要更多的内存(已满),也无法购买其他计算机。-导致大部分扫描停止的原因是关闭“任务”选项卡。
Iceberg'Apr


8

除了关闭不需要的项目(David)之外,您还可以创建包含相关项目(或仅一个)的项目组:

File > Project Group > New Group...

然后可以通过在同一菜单中指向项目组来打开它们。最棒的是:每个小组都记得上一次在编辑器窗口中打开了哪些文件。我将所有项目组织在一起,从而大大减少了扫描。

(顺便说一句:有一个方便的插件,提供了工具栏项目组快捷方式

编辑: 我也在一段时间内使用按需扫描-真的很好。对于这个答案的荣誉。


很好的答案,当您的项目实际上是在多个netbeans项目之间划分时特别有用
svarog

3

我不知道您是否可以禁用项目扫描。即使可以,我也怀疑它能否再次正常工作。我已经完成了一些提示,它可以加快Netbeans的速度。

  1. 关闭任务窗口。这样可以防止Netbeans在注释中扫描TODO。
  2. 排除* .jar,java文件夹和netbeans文件夹的病毒扫描。这加快了我的netbeans的速度。

Netbeans消耗大量内存,因此添加内存还可以提高其性能(内存不足时,OS无需在内存和页面文件之间进行交换)(但这不是您的选择)。另外,Netbeans由数百个文件组成,这些文件在启动时需要加载,因此最根本的问题就是硬盘的速度。


1
“ 2.排除* .jar ..的病毒扫描。”这是为您的AntyVirus程序设置的,而不是NetBeasn对吗?
d.raev

2

对于Netbeans 8。* +Zeophlite的答案中的ScanOnDemand插件不起作用。请改用MasterFileSystemSuspend,因为它是最新的,并且在稳定发行版上可以正常工作。

用于控制NetBeans IDE何时对更改做出反应以及何时忽略更改的插件。使用其他用户操作在保存时进行编译的有用补充-通过将IDE置于挂起模式,人们可以执行(并完成)命令行操作,然后才能打开IDE。

该插件的代码在main / contrib存储库中。该插件可以从下载媒体:ORG-netbeans的模块-masterfs-suspend.nbm和安装(工具/插件/下载)到的NetBeans 8.0,8.1,8.2

在此处输入图片说明

安装后,工具栏中将出现一个新图标,单击该图标可以暂停IDE进行的自动刷新。在NetBeans 8.2和更高版本中使用Truffle源时非常有用。

该模块是先前ScanOnDemand模块的便捷替代品。


就个人而言,这使我的netbeans通用内存消耗从闲置期间的20gb +减少到了大约2gb,并为扫描器不断挂起和泄漏内存提供了一个很好的解决方法,特别是在非常大的项目或具有大量符号链接的项目中。


2

这在下面为我解决了。打开一个项目将导致永无休止的后台扫描...这也意味着代码完成等永远无法正常工作。我的机器为此投入了大量资源。

这里的人给了我一个提示:右键单击项目,选择属性,然后单击“忽略的文件夹”。

基本上,我用它来确定哪个(特定)文件夹是扫描的原因。我选择了上半部分,然后选择了剩余部分的下半部分,这样就消除了...从数百个文件夹中,我发现了一个(导致该问题的php HMVC view文件夹)...我需要停止并杀死该文件夹扫描,然后重新启动多次...

由于各种原因,这是最简单的方法:

在“忽略文件夹”区域中,选择所有文件夹并将它们全部添加(完全独立地)到忽略列表。然后关闭ide,然后重新启动。如果没有所有后台扫描(正常启动并运行几秒钟/分钟),请开始删除一个或几个文件夹。每次删除后,关闭属性窗口..... IDE将快速扫描您删除的那些文件夹,如果这些文件夹没有问题,则停止扫描。如果您刚刚删除了罪魁祸首文件夹,那么扫描将永远不会结束...


1

另一件事是,您可以删除项目中的nbproject文件夹,然后打开NeteBeans。然后将该项目从列表中删除。我有时会冻结


1

我也偶然发现了这个问题。

最简单的方法是编辑netbeans配置,以免加载所有项目。您可以随时从菜单中重新打开其他项目。一旦您关闭所有使用的项目,一旦您启动netbeans,它们将不会被扫描

解决方案: 只需更改etc文件夹下的netbeans.conf中的以下行

#$ {HOME}将替换为JVM user.home系统属性netbeans_default_userdir =“ $ {HOME} /。netbeans / changeme”


您的netbeans.conf文件更改解决方案对我不起作用。
0xC0DEGURU 2013年

1

我也遇到了与netbean 8.2相同的问题。我只是通过以下方式删除了该项目:-右键单击该项目-删除该项目(保持取消选择Delete source code option)。-再次创建新项目

并且现在可以完美运行了。

希望它的工作。


0

试试这个Netbeans插件。这样可以减轻负载。

http://wiki.netbeans.org/ScanOnDemand


我试过了,但是它完全阻止了IDE的加载。在启动过程的“加载模块...”步骤中无限期地挂起。
约书亚伯恩斯

2
警告:目前,此插件仅适用于开发版本。请勿在正式发行版中使用这些说明!!!!
John Slegers

1
注意-使用此ScanOnDemand很可能会破坏您的安装..强制重新安装..
MarcoZen 2015年

0

不完全是问题的情况,但是有时仅通过重新启动Netbeans即可停止“扫描项目”。


0

就我而言,使用jdk 1.8时,存在多个静态导入时会有一个大问题(请参见示例)。看来javac有问题。检查此类.java文件时,编译器非常慢,而NetBeans扫描非常慢。每次重复进行静态导入,似乎编译和扫描时间都非常快地增加了。因此,如果是这种情况,只需删除重复的导入

package ru.cntp.demo;

import java.math.BigDecimal;

import static java.util.Arrays.asList;
import java.util.List;
import java.util.Map;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.groupingBy;

/**
 *
 * @author sergiu
 */
public class EmployeeRepository {

    public Map<Department, Map<String, Map<String, Map<String, Map<BigDecimal, List<Employee>>>>>> getEmployeesByDepartment() {

        Country germany = new Country("Germany");

        Department germanyDeptOne = new Department("Dept One", germany);

        Employee emp1 = new Employee("Surame", "Name", "Patronymic", BigDecimal.TEN, germanyDeptOne);


        return asList(emp1).stream()
                .collect(groupingBy(Employee::getDepartment,
                        groupingBy(Employee::getSurname,
                                groupingBy(Employee::getName,
                                        groupingBy(Employee::getPatronymic,
                                                groupingBy(Employee::getSalary))))));
    }

}

0

使用以下步骤可以提高Netbeans的扫描性能:
1)转到窗口->文件。这将打开“文件”选项卡。
2)在每个打开的项目的“文件”选项卡中,打开nbproject文件夹,并在其中打开project.properties文件。
3)现在,在此文件中,在属性“排除”下方,列出了所有引用的库(JAR)的
文件引用。4)可能存在一些重复的文件引用,这些文件引用的路径可能很旧或在其他人的机器上(如果正在工作)分组并从某人的机器上传输项目)
5)删除那些旧的路径引用。
范例-
excludes=
file.reference.xyz.jar=../not/correct/path.jar //delete this line
file.reference.xyz.jar-1=../correct/path.jar //remove -1
....
includes=**

6)还找到属性“ javac.classpath”,并删除与如上所述删除的引用相对应的不必要的类路径条目。
范例-
javac.classpath=\
${file.reference.xyz.jar}:\ //delete this line
${file.reference.xyz.jar-1}:\ //remove -1
....
javac.compilerargs=

7)因此,现在文件引用部分中提到的文件引用和javac.classpath属性相同,并且指向您的计算机或网络上的有效库(JAR)地址。
范例-
excludes=
file.reference.xyz.jar=../correct/path.jar //the correct reference & path
....
includes=**
....
javac.classpath=\
${file.reference.xyz.jar}:\ //the correct classpath entry for reference
....
javac.compilerargs=
....

上面的过程起作用的原因(以我为例)是因为它阻止Netbeans扫描您的机器/网络上可能不存在的不必要的库路径。




0

如果您的项目是Maven结构化项目,则可以使用简单的技巧来简化NetBeans和NetBeans的生活。

我的机器上的c:\ dev里面有我的项目。那就是Netbeans与之合作的地方。如果我在此文件夹中构建,则NetBean的后台进程将变得非常繁忙。

但是,如果我在c:\ build \ trunk内部启动mvn clean install之前将c:\ dev \ trunk项目复制到c:\ deploy \ trunk,则NetBeans不需要扫描此文件夹中发生的更改。它不知道。

我在Windows机器上使用:

robocopy c:\ dev \ trunk c:\ deploy \ trunk / MIR / NFL / NS / NC / NDL / XD“ .svn”

这是Windows本机命令。无需其他安装。

它帮助我大大减少了构建时间,还避免了永不停止对Netbeans的扫描。

如果使用类似JRebel的工具,则将更改的类更新到c:\ deploy \ trunk文件夹后,仍可以像这样工作。您可以使用相同的命令。

当然,这是一种变通方法,但它会有所帮助。:-)


0

随着时间的流逝,我的项目变得非常庞大

在以下两种情况下,速度太慢:

  1. 打开NetBeans项目时-这太慢了
  2. 自动扫描NetBeans项目

对我不起作用的是:
1.执行窗口>重置Windows仅能暂时解决
2.有时觉得我的GIT存储库与Netbeans集成是主要问题,但尚无明确证据

解决方案1):

运行以下命令:

警告以下命令具有自动删除命令

Close the Netbeans IDE
cd %USERPROFILE%\AppData\Local\NetBeans\Cache\                  && del /s /q .\  && rmdir /s /q .\
cd %USERPROFILE%\AppData\Roaming\NetBeans\8.2\var\filehistory\  && del /s /q .\  && rmdir /s /q .\
cd %USERPROFILE%\AppData\Roaming\NetBeans\8.2\var\log           && del /s /q .\  && rmdir /s /q .\

而且,问题1)现在很少出现,而其他时候Netbeans几乎立即加载。

解决方案2):


.... f1
........ f11
........ f12
.... f2
........ f21
........ f22

root是一个文件夹,也是NetBeans主项目
f1,f2只是文件夹
f11,f12,f21,f22是子文件夹,它们也是NetBeans项目

早些时候,我打开了Netbeans根项目,由于Netbeans从根目录扫描整个项目,系统变得太慢,并且防病毒软件非常努力地与Netbeans项目扫描配合使用,导致系统中的所有内容变慢。

现在,解决方案是打开子项目,例如f11,f12,f21,f22等。您可以打开许多小子项目,Netbeans项目扫描问题已完全解决。


0

由于“扫描项目...”占用了我的CPU,我的Netbeans 8.0.2在Macbook pro上将崩溃。我无法停止该过程,但是,可以通过增加netbeans.conf中的Java堆内存来使该过程更快地完成。

$ vi /Applications/NetBeans/NetBeans\ 8.0.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

替换为:

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

与:

netbeans_default_options="-J-client -J-Xss2m -J-Xms2048m -J-Xmx2048m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.