netbeans - 为什么 NetBeans 无法为我的某些项目找到 CopyLibs?

今天早上我遇到了一个令人讨厌的问题,我花了几个小时试图追查它。我继承了两个 NetBeans 项目的一些代码,AB . 它们都构建并成功运行;没有复杂的 Ant 构建任务;只是默认的 IDE 设置。

这两个项目共享大量代码,因此我将其分解为新的第三个项目 Common .在解析引用等之后,NetBeans 不会报告任何错误。一切似乎都很好。我建立 Common项目顺利。然后事情就变得奇怪了。

突然,当我尝试构建项目时 AB ,它们编译就好了——但是在构建结束时,每个都以相同的错误中断:

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.jarproject.properties 中被正确引用文件(它是),并在 <userhome>/.netbeans/version/build.properties文件也是(它是)。该库确实存在于它被引用的所有地方;事实上,NetBeans 似乎将此 jar 的副本放入 ./lib默认情况下所有 Java 项目的文件夹。我尝试制作全新的项目并手动引入资源,但无济于事。我很困惑。

我在这里发帖是希望:

  • 也许有人可以让我了解一下这首先是如何发生的以及如何避免它。
  • 也许有人可以告诉我为什么只有某些项目会失败,即使所有项目的 project.properties 完全相同文件或全新。
  • 以后遇到这个问题的人会过得更好。

最佳答案

我能在网上找到的最接近的修复方法是 this link ,其中仅包括部分解决方案。遵循该帖子中的说明不会解决问题,因为它遗漏了一些重要的东西。这是我最终偶然发现的解决方案。

在 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

NetBeans 7.1 替换为您的实际安装路径。这实际上就是它的全部!棘手的是,当您单击 OK 时,NetBeans 似乎会对该字段中的文本进行一些解析。具体来说,它将反斜杠视为转义符,并且有时会添加反斜杠

这就是我花了这么长时间才找到的原因:我尝试了链接中的解决方案(例如 C:\Program Files\Netbeans 等),但没有成功,但后来我回到这个窗口发现了这个:C\:Program Files 等等。“哦!”我想,“我只是打错了!我真是个傻瓜!”所以我将它“更正”为 C:\ 并再次尝试 - 仍然没有成功。结果 NetBeans 将 添加 一个反斜杠来转义 :,但只会删除它在此处找到的任何其他单反斜杠。

我仍然不知道为什么会发生这种情况,或者为什么它似乎只影响某些项目。

https://stackoverflow.com/questions/16973377/

相关文章:

java - 多个存储库的 Maven 设置

macos - OS X : MACOSX_RPATH is not specified for t

c++ - 当 CMake 中的生成器或输入发生更改时,如何仅构建自动生成的代码?

iphone - 如何在 Xcode 中一次在多个目的地上 'Build & Run'?

c++ - C++ 依赖生产没有自动化的理论原因是什么?

java - Ant scp 任务不起作用,即使在 ant/lib 上使用 jsch

c - 如何编译 GnuTLS

msbuild - 如何减少 MSBuild 时间

caching - Docker 构建未使用缓存

c++ - 解决 Visual Studio 2010 AlwaysCreate 重建问题