Ant 1.9.4不会使用Java 8清理和构建Netbeans 8.0.2项目;给出空指针异常

时间:2015-08-21 19:13:19

标签: java netbeans ant

我的代码没有错误。如果我选择F6(运行)它执行正常。如果我清理它,没有错误。但是如果我清理和构建,我会因Netbeans 8.0.2和/或Ant 1.9.4中的bug而出现这些错误。完全不可接受的解决方法是创建一个新项目并将所有文件复制到其中。这有效一段时间了。然后我必须再做一次。

修改

我使用tika-app-1.9.jar作为库文件。它是45MB。如果我删除它,而是使用tika-parsers-1.10.jartika-core-1.10.jar作为库文件,我不会收到此错误但是我的程序无法正确处理.PDF个文件。通过庞大的库,该程序已成功编译了数十次,并且可以多次独立运行(即在Netbeans之外)。

END OF EDIT

编辑2

行。我删除了用tika-app-1.10.jar替换了两个较小的库文件并清理并构建了WORKED。

一次。

结束编辑

请提供一些有关其原因以及如何修复和预防或以其他方式进行调试的信息。我有超过3000行的调试输出,但是底线,无论是否选择调试,总是这样:

C:\Users\Dov\Google Drive\NetBeansProjects\Find\nbproject\build-impl.xml:994: The following error occurred while executing this line:
C:\Users\Dov\Google Drive\NetBeansProjects\Find\nbproject\build-impl.xml:838: 
java.lang.NullPointerException
    at org.apache.tools.ant.util.ResourceUtils.copyResource(ResourceUtils.java:439)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:559)

这是我的项目:

enter image description here enter image description here

我没有弄乱build.xml或任何其他生成的文件。

我重新启动了Netbeans 8.0.2并查找了可能正在运行的JVM实例。没有。

这是Ant屏幕:

enter image description here

这里有更多的堆栈跟踪:

    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:519)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:480)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:443)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:409)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:384)
    at org.apache.tools.ant.util.FileUtils.copyFile(FileUtils.java:322)
    at org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs.execute(CopyLibs.java:206)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286)
    at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555)
    at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
BUILD FAILED (total time: 4 seconds)

请注意以下关于BUILD FAILED行的行:

Could not load class (org.apache.tools.ant.taskdefs.repository.MavenRepository) for type mavenrepository
Could not load a dependent class (jdepend/xmlui/JDepend) for type jdepend
Could not load a dependent class (javax/media/jai/PlanarImage) for type image
Could not load class (org.apache.tools.ant.taskdefs.repository.MavenRepository) for type mavenrepository
Could not load a dependent class (jdepend/xmlui/JDepend) for type jdepend
Could not load a dependent class (javax/media/jai/PlanarImage) for type image

2 个答案:

答案 0 :(得分:1)

检查相关的ResourceUtils,似乎异常发生在复制任务(可能是复制库Jar文件的那个)中,特别是在尝试记录错误然后再回到另一个复制机制时。

同时检查Ant 1.9.5,问题似乎已修复,release notesBug 57533中提及此问题( NullPointerException FileUtil.rename / ResourceUtils.copyFile()如果copyUsingFileChannels失败< /强>)。

因此,我会尝试升级到Ant 1.9.5以查看问题是否已解决。

答案 1 :(得分:0)

我下载了Ant 1.9.6并让Netbeans使用它,如屏幕截图所示。

3次快速清理和构建后,错误和巨大的库.jar没问题。

enter image description here

然后:另一个错误:

Attempt to copy C:\Users\Dov\Downloads\tika-app-1.10.jar to C:\Users\Dov\Google Drive\NetBeansProjects\Find\dist\lib\tika-app-1.10.jar using NIO Channels failed due to 'C:\Users\Dov\Google Drive\NetBeansProjects\Find\dist\lib\tika-app-1.10.jar (Access is denied)'.  Falling back to streams.
C:\Users\Dov\Google Drive\NetBeansProjects\Find\nbproject\build-impl.xml:994: The following error occurred while executing this line:
C:\Users\Dov\Google Drive\NetBeansProjects\Find\nbproject\build-impl.xml:838: 
java.io.FileNotFoundException: C:\Users\Dov\Google Drive\NetBeansProjects\Find\dist\lib\tika-app-1.10.jar (Access is denied)
    at java.io.FileOutputStream.open0(Native Method)

修改

项目文件夹,dist文件夹,lib文件夹和.jar库文件都有红色X.只有这样才能继续:关闭Windows,然后.jar文件消失;干净和建设再次工作 - 但多久。周期。

除了关闭之外无法删除.jar文件非常不方便。

希望错误很快得到解决。