Hen*_*ter 18 ant netbeans build
今天早上我遇到了一个令人讨厌的问题,花了我几个小时试图追查它.我用两个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)
Run Code Online (Sandbox Code Playgroud)
所有.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文件或是全新的.Hen*_*ter 24
我可以在网上找到的最接近的修复是这个链接,它只包含一个部分解决方案.按照该帖子中的说明将无法解决问题,因为它遗漏了一些重要的内容.这是我最终偶然发现的解决方案.
在NetBeans中,转到此处:
Tools > Options > Miscellaneous > Ant
Run Code Online (Sandbox Code Playgroud)
在窗口的底部,有一个标有的方框Properties.粘贴如下:
libs.CopyLibs.classpath=C\:\\Program Files\\NetBeans 7.1\\java\\ant\\extra\\org-netbeans-modules-java-j2seproject-copylibstask.jar
Run Code Online (Sandbox Code Playgroud)
替换NetBeans 7.1为您的实际安装路径.这实际上就是它的全部!令它变得棘手的是NetBeans在您单击时似乎对此字段中的文本进行了一些解析OK.具体来说,它将反斜杠视为转义,有时也会添加反斜杠.
这就是为什么我花了这么长时间才找到:我在链接中尝试了解决方案(例如C:\Program Files\Netbeans等),但它没有用,但后来我回到这个窗口发现了这个:C\:Program Files"哦!" 我想,"我输错了!我真是个傻瓜!" 所以我"纠正"它C:\并再次尝试 - 仍然没有成功.原来NetBeans会添加一个反斜杠来逃避:,但只会删除它在这里找到的任何其他单反斜杠.
我仍然不知道为什么会发生这种情况,或者为什么它似乎只影响某些项目.
我在Mac上安装了NetBeans 7.1.2,卸载了它,然后安装了7.3.1.我得到了同样的错误.以下是我必须要解决的问题:转到
NetBeans菜单>首选项> Java选项卡> Ant子选项卡>属性
我注意到属性仍然有应用程序的旧数字,所以我不得不将7.1.2更改为7.3.1,然后它工作.

谢谢你让我走上正轨!