有办法阻止 NetBeans 扫描项目吗?

我的电脑内存不多,处理器也很差。尽管 netbeans 是目前为止我最喜欢的 IDE,但是在我现在的计算机上使用它几乎是不可忍受的,因为项目扫描在我打开程序时会自动启动。

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

84602 次浏览

嘿,乔治,我不知道这是不是一个很好的答案,但我右键点击并选择“关闭”我不需要打开的项目。没必要把你以前的项目都列在那里。只要有一个你正在开发打开。您总是可以从菜单中重新打开其他项目。一旦所有您不使用的项目关闭,它们将不会在您每次启动 Netbeans 时被扫描。

我不知道你能不能禁用项目扫描。就算你可以,我也怀疑它是否还能正常工作。有一些技巧,我已经做了,它加速我的 Netbeans。

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

Netbeans 消耗大量内存,因此增加内存也会提高性能(当内存不足时,操作系统不需要在内存和页面文件之间进行交换)(但这可能不是您的选择)。另外,Netbeans 由数百个文件组成,这些文件需要在启动时加载,因此最低限度是硬盘的速度。

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

警告: 目前,这个插件只适用于开发版本。不要在官方版本中使用这些说明..。

一旦启动 NetBeans IDE,系统就会执行所谓的“最新检查”,以验证没有更改任何文件。如果这在您的情况下似乎花费了太长的时间,并阻止您执行您的工作,您可能会对 扫描点播感兴趣。

扫描点播最基本的功能是在 IDE 启动后禁用(可能是长时间的)最新检查。这是在预期的情况下完成的,即大多数使用源代码的操作都是在 IDE 内部完成的,因此当 IDE 关闭时,不会发生重要的更改,因此不需要重新扫描任何内容。事实上,这可能不完全准确,但修复很容易,在使用其他工具显著更新源代码的罕见情况下,只需手动触发刷新即可。

NetBeans IDE 再一次给了你更多的控制权。你继续掌控,决定什么时候做什么..。

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

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

File > Project Group > New Group....

然后,可以通过从相同的菜单中指向项目组来打开项目组。最重要的是: 每个组都记住上次在编辑器窗口中打开的文件。我把所有的项目组织成小组,这样可以大大减少扫描。

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

编辑: 我现在也使用 按需扫描一段时间了——真的很好。这个答案值得称赞。

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

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

来自 NetBeans 的帮助:

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

另一个快速的方法是删除项目中的 nbproject 文件夹,然后打开 NeteBeans。然后将项目从列表中删除。有时候冰冻的时候我会这么做

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

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

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

# ${ HOME }将被 JVM user.HOME 系统属性替换 Netbeans _ default _ userdir = “ ${ HOME }/. netbeans/changeme”

试试这个 Netbeans 插件。这样可以在一定程度上减少负载。

Http://wiki.netbeans.org/scanondemand

我知道这是一个古老的问题,但这可能会帮助其他人..。 要启用或禁用背景扫描,可以在菜单 Tools-> Options-> Miscellaneus-> Files 下找到该选项

Https://blogs.oracle.com/netbeansphp/entry/enable_auto_scanning_of_sources

停止 NetBeans 扫描项目:

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

Stop Netbeans Scanning Project

这并不完全是问题所在,但有时只要重新启动 Netbeans 就可以停止“扫描项目”。

在我的例子中,使用 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))))));
}


}

使用以下程序可以提高 Netbeans 的扫描性能:
1)转到窗口-> 文件。这会打开“文件”选项卡。
2)在 Files Tab 中,为每个打开的项目打开 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.classspath”,并删除对应于上述已删除引用的不必要的类路径条目。
例子-
javac.classpath=\
${file.reference.xyz.jar}:\ //delete this line
${file.reference.xyz.jar-1}:\ //remove -1
....
javac.compilerargs=

7)所以现在文件引用部分中提到的文件引用和 javac.classspath 属性是相同的,并且指向计算机或网络上的一个有效的 Library (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 扫描您的机器/网络上可能不存在的不必要的 Library 路径。

我有最快最简单的方法。

只需将 netbeans 元数据放在另一个位置,而不是将其放在项目目录中

如果您的项目是一个 Maven 结构化的项目,您可以使用一个简单的技巧,使您和 NetBeans 的生活更加容易。

我在机器上的 c: dev 中有我的项目。那是 Netbeans 工作的地方。如果我在这个文件夹中构建,那么 NetBean 的后台进程就会变得非常繁忙。

但是,如果我复制的 C: dev 躯干项目,例如到 打开主干之前,我启动 建造后备箱内的 清除安装,然后 NetBeans 不需要扫描这个文件夹中发生的变化。它不知道这件事。

我用在橱窗机器上的:

机器人复制 c: dev 主干 c: 部署主干/MIR/NFL/NS/NC/NDL/XD“ . svn”

这是一个 Windows 本机命令。不需要额外的安装。

它帮助我大大减少了构建时间,同时也避免了在 Netbeans 上无休止的扫描。

如果您使用诸如 JRebel 之类的工具,那么当您将更改后的类更新到您的 c: department 主干文件夹时,您仍然可以像这样工作。您可以使用相同的命令。

这当然是一个变通方案,但它很有帮助。 : -)

对于 Netbeans8。* + Zeophlite 的回答扫描点播插件不工作。改为使用 MasterFileSystem 暂停,因为它是最新的,在稳定的版本上工作得很好。

插件控制 NetBeans IDE何时对更改作出反应以及何时忽略它们。有用的补充编译保存与额外的用户操作-通过把 IDE 进入暂停模式,一个可以执行(并完成)命令行操作,只有在这时才打开 IDE。

该插件的代码在 主要/贡献存储库中。该插件可以从 Media: Org-netbeans-module-master fs-sushing.nbm下载并安装到 NetBeans 公司的网站: http://wiki.NetBeans.org/NetBeans 网站: http://wiki.NetBeans.org/NetBeans 网站: http://wiki.NetBeans.org/NetBeans 网站: http://wiki.NetBeans.org/NetBeans 网站: http://wiki.NetBeans.org/NetBeans中(工具/插件/下载)。

enter image description here

安装完成后,工具栏中会出现一个新的图标,用户可以单击该图标来挂起 IDE 的自动刷新。在使用 NetBeans 8.2及更新版本的 Truffle 源代码时非常有用。

这个模块是以前的 扫描点播模块的一个方便的替代品。


就我个人而言,这使我通常使用的 netbeans 内存消耗从空闲时的20gb + 持续下降到大约2gb,并且为扫描器持续挂起和泄漏内存提供了一个很好的解决方案,特别是在非常大的项目或有大量符号链接的项目中。

随着时间的推移,我的项目变得非常大

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

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

对我不起作用的是:
1. 执行窗口 > 重置窗口只能暂时解决
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 .\

而且,这个问题现在很少出现了,其他时候 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 项目的扫描问题已经完全解决了。

我的 Netbeans 8.0.2会在我的 Macbook pro 上崩溃,因为“扫描项目...”占用了我的 CPU。我不能停止这个进程,但是,我可以通过增加 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"

我也面临同样的问题与 netbean 8.2。我刚刚删除的项目 - 右键点击项目 - 删除项目(保留取消选择删除源代码选项)。 - 再次创建新项目

它现在运行得很好。

希望能成功。

下面这个解决了我的问题。一个项目,当打开会导致永远结束后台扫描... 这也意味着代码完成等永远不能工作。我的机器为此投入了大量资源。

这里有人给了我线索: 右键单击项目,选择属性,然后“忽略文件夹”。

本质上,我使用这个来确定哪个(特定)文件夹是扫描的原因。我选择了上半部分,然后下半部分剩余等一个过程的消除... 和数百个文件夹,我发现了一个(php HMVC 视图文件夹导致它) ... 我需要停止和关闭扫描,然后重新启动多次..。

由于种种原因,以下是最简单的方法:

在“忽略文件夹”区域中,选择所有文件夹并添加它们 (相当个别地)到忽略列表。然后关闭 ide, 当所有的背景扫描都不存在时(它开始和 正常运行数秒/分钟) ,开始删除一个或几个 每次删除后,关闭属性窗口... ..。 IDE 将快速扫描您删除的文件夹,如果没有,则 停止扫描。如果你已经删除了罪魁祸首 文件夹,然后扫描将永远不会结束..。

我在 Netbeans IDE 8.2,Windows 10 x64上遇到了几乎相同的问题,但是在我的情况下,它甚至没有启动我的 IDE。

  1. 我所做的就是打开我的 Netbeans 项目文件夹然后剪辑 然后粘贴到另一个文件夹中。
  2. 之后,我再次打开 Netbeans,关闭了自动扫描功能(菜单-> 工具 - > 选项-> 杂项-> 文件-> 取消选中 Enabel 自动扫描)。
  3. 然后,我去了文件夹,我粘贴了我的 然后放回我原来的 Netbeans 项目文件夹。

最后,打开您的 Netbeans IDE,瞧。

它又起作用了:)