今早我遇到了一个非常棘手的问题,导致我花了数小时来追踪它。我继承了一些代码,其中包括两个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
的问题。
有人建议确保 project.properties
文件中正确引用了 org-netbeans-modules-java-j2seproject-copylibstask.jar
(确实已经引用了),以及 <userhome>/.netbeans/version/build.properties
文件(也已经引用)。实际上,这个库在被引用的所有位置都存在;事实上,NetBeans 默认会将这个 jar 的一个副本放入所有 Java 项目的 ./lib
文件夹中。我尝试创建全新的项目并手动导入源代码,但无济于事。我感到困惑不解。
我在这里发布帖子,希望:
- 也许有人可以给我一些关于为什么会发生这种情况以及如何避免它的见解。
- 也许有人可以告诉我为什么只有某些项目会出问题,即使所有项目都具有完全相同的
project.properties
文件或是全新创建的。 - 未来遇到这个问题的人会更容易解决它。
C:\ Users \ username \ AppData \ Roaming \ NetBeans \ x.y.z \ build.properties
。 - Jus12