今天早上我遇到了一个棘手的问题,我花了几个小时试图追踪它。我继承了两个 NetBeans 项目的一些代码,A
and B
. 他们都成功构建并运行;没有复杂的 Ant 构建任务;只是默认的 IDE 设置。
这两个项目共享大量代码,因此我将其分解为一个新的第三个项目,Common
。解决引用等问题后,NetBeans 不会报告任何错误。一切看起来都很好。我建立了Common
项目顺利进行。然后事情就变得奇怪了。
突然,当我尝试构建项目时A
and B
, they compile很好——但是最后build,每个都因相同的错误而中断:
Copying 1 file to C:\Projects\projectName\build
C:\Projects\projectName\nbproject\build-impl.xml:723: The following error occurred while executing this line:
C:\Projects\projectName\nbproject\build-impl.xml:543: taskdef class org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs cannot be found
using the classloader AntClassLoader[]
BUILD FAILED (total time: 3 seconds)
All the .class
文件显示在build/classes
,其他一切似乎都进展顺利,但没有任何进展dist
文件夹。所以开始我的寻找CopyLibs
issues.
人们建议确保org-netbeans-modules-java-j2seproject-copylibstask.jar
中正确引用了project.properties
文件(它是),并且在<userhome>/.netbeans/version/build.properties
文件也是如此(确实如此)。图书馆does存在于它被引用的所有地方;事实上,NetBeans 似乎将此 jar 的副本放入./lib
默认情况下所有 Java 项目的文件夹。我尝试制作全新的项目并手动引入源代码,但无济于事。我很困惑。
我在这里发帖希望:
- 也许有人可以给我一些见解这首先是如何发生的以及如何避免它。
- 也许有人可以告诉我为什么只有某些项目会失败,即使所有人都完全相同
project.properties
文件或全新的。
- 未来有这个问题的人将会过得更好。
我可以在网上找到的最接近的修复是这个链接 http://www.adam-bien.com/roller/abien/entry/how_to_fix_the_libs,其中仅包含部分解决方案。按照该帖子中的说明进行操作will not解决问题,因为它遗漏了一些重要的东西。这是我最终偶然发现的解决方案。
在 NetBeans 中,请转到此处:
Tools > Options > Miscellaneous > Ant
在窗口的底部,有一个标有Properties
。粘贴以下内容:
libs.CopyLibs.classpath=C\:\\Program Files\\NetBeans 7.1\\java\\ant\\extra\\org-netbeans-modules-java-j2seproject-copylibstask.jar
Replace NetBeans 7.1
与您的实际安装路径。这实际上就是全部了!棘手的是,当您单击时,NetBeans 似乎会对此字段中的文本进行一些解析OK
。具体来说,它将反斜杠视为转义符,并且有时添加反斜杠.
这就是为什么我花了这么长时间才找到:我尝试了链接中的解决方案(例如C:\Program Files\Netbeans
等),但它不起作用,但后来我回到这个窗口发现了这一点:C\:Program Files
等“哦!”我想:“我只是打错了!我真是个傻瓜!”所以我将其“纠正”为C:\
并再次尝试——仍然没有成功。结果 NetBeans 将add反斜杠转义:
,但只会删除它在此处找到的任何其他单反斜杠。
我仍然不知道为什么会发生这种情况,或者为什么它似乎只影响某些项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)