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

时间:2010-12-23 03:19:47

标签: java netbeans

我的电脑没有太多内存和处理器非常弱。虽然netbeans是迄今为止我最喜欢的IDE,但由于项目扫描在我打开程序时会自动启动,因此在我现有的计算机上使用它几乎是无法忍受的。

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

22 个答案:

答案 0 :(得分:54)

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

答案 1 :(得分:18)

除了为您真正使用的文件夹创建较小的项目,然后使用项目组对它们进行分组(Mateng),您可以尝试排除您将使用的文件夹永远不会在images文件夹等工作。要忽略这些文件夹,请转到:

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

从NetBeans帮助:

  

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

答案 2 :(得分:14)

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

  

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

     

只要启动NetBeans IDE,系统就会执行所谓的“最新检查”,以验证是否没有更改过任何文件。如果您的案件似乎花了太长时间,并阻止您执行工作,您可能会对 ScanOnDemand 感兴趣。

     

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

     

NetBeans IDE再次为您提供更多控制权。你保持负责,决定做什么,什么时候......

     

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

答案 3 :(得分:9)

我知道这是一个老问题,但这可能有助于其他人...... 要启用或禁用后台扫描,您可以在菜单工具 - >下找到该选项。选项 - > Miscellaneus - >文件

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

答案 4 :(得分:8)

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

File > Project Group > New Group...

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

(顺便说一句:有一个方便的插件提供project group shortcut to the toolbar

修改 我现在也在使用 Scan on Demand 一段时间 - 非常好。感谢那个答案。

答案 5 :(得分:8)

停止NetBeans扫描项目:

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

Stop Netbeans Scanning Project

答案 6 :(得分:3)

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

  1. 关闭任务窗口。这可以防止Netbeans在评论中扫描TODO。
  2. 排除* .jar,java文件夹和netbeans文件夹的病毒扫描。这加快了我的netbeans A LOT。
  3. Netbeans消耗大量内存,因此添加内存也会提高其性能(当内存不足时,操作系统不需要在内存和页面文件之间进行交换)(但这可能不是您的选择)。此外,Netbeans包含数百个需要在启动时加载的文件,因此底部是硬盘的速度。

答案 7 :(得分:2)

对于Netbeans 8。* + ,来自ScanOnDemandZeophlite's answer插件不起作用。请改用MasterFileSystemSuspend,因为它是最新的,并且可以在稳定版本上正常运行。

  

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

     

插件的代码位于main/contrib存储库中。该插件可以从media:Org-netbeans-modules-masterfs-suspend.nbm‎下载并安装(工具/插件/下载)到 NetBeans 8.0,8.1,8.2

enter image description here

  

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

     

此模块是以前ScanOnDemand模块的便捷替代品。

从个人角度来看,这使我的netbeans内存消耗量从一般使用时的20gb +一直降至约2gb,并为扫描仪不断挂起和泄漏内存提供了一个很好的解决方法,特别是在非常大的项目或有大量项目的情况下。很多符号链接。

答案 8 :(得分:1)

我在使用 Netbeans IDE 8.2、Windows 10 x64 时遇到了几乎相同的问题,但就我而言,它甚至没有启动我的 IDE。

  1. 我所做的只是转到我的 Netbeans 项目文件夹并剪切 那里的所有内容,然后粘贴到另一个文件夹中。
  2. 之后,我再次打开 Netbeans,禁用自动扫描功能(菜单 -> 工具 -> 选项 -> 杂项 -> 文件 -> 取消选中 Enabel 自动扫描。
  3. 然后,我转到粘贴我的文件夹的文件夹 之前的项目并放回我原来的 Netbeans 项目文件夹中。

最后,打开您的 Netbeans IDE 和 VOILA!。

它又奏效了:)

答案 9 :(得分:1)

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

现在它的工作非常好。

希望它的工作。

答案 10 :(得分:1)

我偶然发现了这个问题。

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

<强>解决方案: 只需更改etc文件夹

下的netbeans.conf中的以下行 <$> {$}将由JVM user.home系统属性替换  netbeans_default_userdir = “$ {HOME} /。netbeans的/ changeme”

答案 11 :(得分:1)

另一个快速的事情就是删除项目中的nbproject文件夹,然后打开NetBeans。然后项目从列表中删除。我冻结时会做一些事情

答案 12 :(得分:0)

不完全是问题,但有时&#34;扫描项目&#34;可以通过重新启动Netbeans来停止。

答案 13 :(得分: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))))));
    }

}

答案 14 :(得分:0)

使用以下程序可以改善Netbeans的扫描性能:
1)转到窗口 - &gt;文件。这将打开“文件”选项卡 2)在每个打开的项目的Files选项卡中打开nbproject文件夹,在其中打开project.properties文件。
3)现在在这个文件下面的属性&#34;排除&#34;列出了所有引用的库(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)同时找到属性&#34; javac.classpath&#34;并删除与删除的引用相对应的不必要的类路径条目,如上所述 示例 -
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扫描机器/网络上可能不存在的不必要的库路径。

答案 15 :(得分:0)

答案 16 :(得分:0)

我有最快捷,最简单的方法。

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

答案 17 :(得分:0)

如果您的项目是Maven结构化项目,您可以使用一个简单的技巧,让您的NetBeans生活更轻松。

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

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

我在Windows机器上使用:

robocopy c:\ dev \ trunk c:\ deploy \ trunk / MIR / NFL / NS / NC / NDL / XD&#34; .svn&#34;

这是一个Windows原生命令。无需额外安装。

它帮助我减少了大量的构建时间,也避免了永无止境的Netbeans扫描。

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

这当然是一种解决方法,但它有很多帮助。 : - )

答案 18 :(得分:0)

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

http://wiki.netbeans.org/ScanOnDemand

答案 19 :(得分:0)

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

在以下2个案例中,它太慢了:

  1. 在打开NetBeans项目时 - 这太慢了
  2. 自动扫描NetBeans项目
  3. 对我不起作用的是:
    1.做窗口&gt;重置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项目的子文件夹

    早些时候,我正在打开root Netbeans项目,由于netbeans从root用户扫描整个项目,系统变得太慢,而且防病毒工作很难配合Netbeans项目扫描,导致系统中的所有内容都变慢。

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

答案 20 :(得分: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"

答案 21 :(得分:0)

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

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

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

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

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