如何清除NetBeans中的缓存

125

我在NetBeans中创建了一个项目,现在想要清除NetBeans缓存。

我使用的是Windows 7机器,NetBeans版本为7.0.1。

请问如何进行清除操作?


7
在Linux的NB7.4中:删除/home/{user}/.netbeans/7.4/var/filehistory/home/{user}/.netbeans/7.4/var/log文件夹中的文件。 - Sudhakar Krishnan
13个回答

395

在删除缓存之前关闭NetBeans。

NetBeans 7.2 +,Windows 7

缓存位于C:\Users\<username>\AppData\Local\NetBeans\Cache\

使用%USERPROFILE% Windows变量清除缓存:

del /s /q %USERPROFILE%\AppData\Local\NetBeans\Cache\

如果设置了,您还可以使用环境变量%LOCALAPPDATA%

del /s /q %LOCALAPPDATA%\NetBeans\Cache\

NetBeans 7.2+,Linux

缓存位于:~/.cache/netbeans/${netbeans_version}/index/

Mac OS X

缓存位于:~/Library/Caches/NetBeans/${netbeans_version}/

另请参见http://wiki.netbeans.org/FaqWhatIsUserdir

帮助菜单

在Windows上,选择帮助»关于菜单将显示一个对话框,其中包含以下文本:

Product Version: NetBeans IDE 8.0.2 (Build 201411181905)
Java: 1.7.0_80; Java HotSpot(TM) 64-Bit Server VM 24.80-b11
Runtime: Java(TM) SE Runtime Environment 1.7.0_80-b15
System: Windows 7 version 6.1 running on amd64; Cp1252; en_CA (nb)
User directory: C:\Users\Username\AppData\Roaming\NetBeans\8.0.2
Cache directory: C:\Users\Username\AppData\Local\NetBeans\Cache\8.0.2

无论操作系统如何,关于对话框将包含正确的缓存目录路径。

5
已添加OSX路径和维基链接。之前版本的Netbeans似乎在~/.netbeans/${netbeans_version}/var/cache中。 - SigmaX
6
对于XP系统:C:\Documents and Settings<username>\Local Settings\Application Data\NetBeans\Cache - beginner_
2
是的,非常感谢!!这让我疯狂了,花了几个小时追踪实际上不存在的错误 -- 没有找到主方法的类,一些自定义异常类没有被识别为实现'Throwable'接口...我只是删除了愚蠢的缓存,现在所有东西都运行正常。 - Ian Campbell
使用%AppData%变量访问更快。 - Ninja Coding
在Netbeans 8.2下运行时,我删除了Linux上的整个缓存文件夹。具体来说,是rm -rf ~/.cache/netbeans/8.2。这解决了一个令人讨厌的问题,即Netbeats在解析大型项目时会冻结并使用100%的CPU。 - Mike
谢谢,这个SO答案救了我的命:在出现“java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file”错误后,删除缓存让我重新回到正轨。 - Mario

181

缓存目录的路径可以在“帮助/关于”菜单中找到。关闭NetBeans,然后删除(或重命名)该目录。NetBeans启动时将重新构建其缓存。


3
更不用说基于Netbeans的IDE(如JMonkey),它们可能有不同的目录位置,但这仍然适用。 - Richard Tingle
14
基于我通过清理缓存解决的可怕错误,我认为需要一个大红色的“清除缓存”按钮,以及工具提示“在其他方法都失败时使用”。 - Atorian
@Atorian 听起来不错,但是有一个大红色的“清除缓存”按钮并不是一个有用的方法。你需要运行NetBeans才能点击这个大红色的按钮,如果NetBeans正在运行,它将使用你想要删除的缓存目录。 - skomisa

49
在7.2版本之前,缓存位于C:\Users\username\.netbeans\7.0\var\cache。删除此目录应清除您的缓存。

1
对于版本8,请参见Pino的下面的答案[链接]https://dev59.com/HGoy5IYBdhLWcg3wPLn0#17238597 - scharette
路径已经被更改为较高版本。我正在使用 Netbeans V8.2,路径为 C:\Users\userName\AppData\Local\NetBeans\Cache。 - Dinesh Belkare

12

在安装有 NetBeans 8.1 的 Mac 上,

  1. NetBeansAbout(关于 NetBeans)
  2. About(关于)屏幕中找到 User Directory(用户目录)路径。
  3. 使用命令 rm -fr 8.1。根据您的实际情况,版本号可能不同,请删除相应版本号的文件夹。
  4. 重新启动 NetBeans。

一旦NetBeans无法打开,乐趣就开始了。那么如何找到用户目录? - chao
@chao 请检查您的系统日志,看看为什么Netbeans无法启动。 - Joseph
谢谢@Joseph,我在看到你的回复之前选择了完全重新安装NetBeans。此外,在我的情况下,缓存位于./Library/Caches/NetBeans/8.2/中,这也在http://wiki.netbeans.org/FaqUninstallMac中有描述。 - chao

11

我要补充一点,我试过解决因缓存中缺少库引起的引用问题,但删除缓存并不能解决问题。

我关闭了NetBeans(7.2.1),删除了缓存,再次打开NetBeans,它重新生成了缓存,但库仍然丢失(通过查看.../Cache/7.2.1/index/archives.properties进行检查)。

为了解决问题,我在关闭NetBeans和删除缓存之前关闭了我的打开项目。


我按照你说的做了。在7.3中仍然保持不变。 - rbento
1
谢谢,它起作用了。我只是通过突出显示所有打开的项目,在NetBeans中右键单击并单击关闭来关闭所有打开的项目。然后关闭NetBeans并删除C:\ Users \“用户名”\ AppData \ Local \ NetBeans \ Cache中的缓存。 - Ridzuan Adris
为了解决这个问题,我必须在关闭NetBeans并清除缓存之前关闭我的所有打开项目。我有两个项目组,必须关闭每个组中的每个项目,然后将我的项目重新添加到组中,才能使它再次正常工作。感谢Ray! - kmort

9

对于Linux上的Netbeans 7.4及以上版本,缓存位于$HOME/.cache/netbeans/7.4


他要求一台Windows机器。 - Don Dilanga

6
在 Windows 7 中,缓存位于 C:/Users/用户名/AppData/Local/NetBeans/Cache。

5
NetBeans的cachedir是一个由文件组成的目录,这些文件可能会变得很大,经常更改,并且可以随时删除和重新创建。例如,Java类路径扫描的结果驻留在cachedir中。
NetBeans 7.1及更早版本: 默认情况下,userdir位于用户主目录中名为.netbeans(隐藏)的目录内。在类Unix系统上,主目录是${HOME},在Windows上通常设置为C:\Documents and Settings\的%USERPROFILE%。cachedir可以在userdir的var/cache子文件夹中找到。 顾名思义,userdir对于每个用户都是唯一的。对于安装的每个NetBeans版本,userdir将是一个唯一的子目录,例如.netbeans/。 要找出您确切的userdir位置,请转到IDE的主菜单,然后选择帮助>关于。(Mac:NetBeans>关于NetBeans)。 NetBeans 7.1允许使用开关--cachedir将缓存目录分离到所需位置。

示例 运行 NetBeans 5.0 的 Windows 用户 jdoe 可能会在以下位置找到他的用户目录: C:\Documents and Settings\jdoe.netbeans\5.0\ 运行 NetBeans 5.0 的 Windows Vista 用户 jdoe 可能会在以下位置找到他的用户目录: C:\Users\jdoe.netbeans\5.0\ 运行 NetBeans 5.0 的 Mac OS X 用户 jdoe 可能会在以下位置找到他的用户目录: /Users/jdoe/.netbeans/5.0/ (要在 Finder 中打开此文件夹,请从 Finder 菜单中选择前往 > 文件夹,输入 /Users/jdoe/.netbeans/5.0/ 并单击前往。) 运行 NetBeans 5.0 的 Linux 用户 jdoe 可能会在以下位置找到他的用户目录: /home/jdoe/.netbeans/5.0/

更多信息

请查看 NetBeans 网站上的此文档:NetBeans 7.2 及更高版本


4

在 Windows 10 上使用 NetBeans 8+ 时,存在一个明确的重复类错误 bug,可以通过清理缓存解决,缓存位于 C:\Users\<user>\AppData\Local\NetBeans\Cache


1
当然,但是像Joseph所写的那样清理缓存是可行的解决方案。Brixdan告诉我们“为什么”而不是“如何”,但还是感谢他提供的信息。 - Benj

3
只需安装缓存擦除插件,它兼容nb6.9、7.0、7.1、7.2和7.3: 要配置插件,您需要提供在NetBeans“关于”屏幕中的缓存目录。 然后,通过"工具->擦除缓存"清除netbeans缓存。 就这样,祝你好运。 http://plugins.netbeans.org/plugin/40014/cache-eraser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接