今天早上我遇到了一个令人讨厌的问题,我花了几个小时试图追查它。我继承了两个 NetBeans 项目的一些代码,A
并且B
. 它们都构建并成功运行;没有复杂的 Ant 构建任务;只是默认的 IDE 设置。
这两个项目共享大量代码,因此我将其分解为新的第三个项目,Common
. 在解析引用等之后,NetBeans 不会报告任何错误。一切似乎都很好。Common
我顺利地构建了这个项目。然后事情变得很奇怪。
突然,当我尝试构建项目时A
,B
它们编译得很好——但在构建结束时,每个项目都因相同的错误而中断:
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)
所有.class
文件都显示在 中build/classes
,其他一切似乎都很顺利,但没有任何文件进入dist
文件夹。于是我开始寻找CopyLibs
问题。
人们建议确保org-netbeans-modules-java-j2seproject-copylibstask.jar
在project.properties
文件中正确引用它(它是),并且在<userhome>/.netbeans/version/build.properties
文件中也是如此(它是)。该库确实存在于它被引用的所有地方。事实上,NetBeans 似乎./lib
默认将此 jar 的副本放入所有 Java 项目的文件夹中。我尝试制作全新的项目并手动引入资源,但无济于事。我很困惑。
我在这里发帖是希望:
- 也许有人可以让我了解一下这首先是如何发生的以及如何避免它。
- 也许有人可以告诉我为什么只有某些项目会中断,即使所有项目都具有完全相同的
project.properties
文件或者是全新的。 - 将来有这个问题的人会过得更好。