Ant 1.9.4韩元';t使用Java8清理和构建Netbeans 8.0.2项目;给出空指针异常
我的代码没有错误。如果我选择F6(运行),它执行得很好。如果我清理它,就不会有错误。但是如果我清理并构建,我会因为Netbeans 8.0.2和/或Ant 1.9.4中的错误而得到这些错误。完全不可接受的解决方法是创建一个新项目并将所有文件复制到其中。这在一段时间内有效。那我得再做一次 编辑 我使用Ant 1.9.4韩元';t使用Java8清理和构建Netbeans 8.0.2项目;给出空指针异常,java,netbeans,ant,Java,Netbeans,Ant,我的代码没有错误。如果我选择F6(运行),它执行得很好。如果我清理它,就不会有错误。但是如果我清理并构建,我会因为Netbeans 8.0.2和/或Ant 1.9.4中的错误而得到这些错误。完全不可接受的解决方法是创建一个新项目并将所有文件复制到其中。这在一段时间内有效。那我得再做一次 编辑 我使用tika-app-1.9.jar作为库文件。它是45MB。如果我删除它,而是使用tika-parsers-1.10.jar和tika-core-1.10.jar作为库文件,我不会得到这个错误,但我的程
tika-app-1.9.jar
作为库文件。它是45MB。如果我删除它,而是使用tika-parsers-1.10.jar
和tika-core-1.10.jar
作为库文件,我不会得到这个错误,但我的程序无法正确处理.PDF
文件。有了这个巨大的库,这个程序已经成功编译了几十次,并且作为独立运行(即在Netbeans之外)多次
编辑结束
编辑2
嗯。我删除了两个较小的库文件,并用tika-app-1.10.jar
替换了它们,清理和构建工作正常
一次
结束编辑
请提供一些关于它发生的原因以及如何修复和防止它或以其他方式调试它的见解。我有超过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)
以下是我的项目:
我没有弄乱build.xml
或任何其他生成的文件
我重新启动了Netbeans 8.0.2,并查找可能正在运行的JVM实例。没有
这是Ant屏幕:
以下是更多的堆栈跟踪:
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)
请注意生成失败行后面的这些行:
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
检查相关的
ResourceUtils
,似乎在复制任务(可能是复制库Jar文件的任务)中发生异常,特别是在尝试记录错误,然后返回到另一个复制机制时
在检查Ant 1.9.5的同时,似乎问题已经解决,并且在(NullPointerException FileUtil.rename/ResourceUtils.copyFile()(如果CopyUsingFileChannel失败)中提到了这一点
因此,我会尝试升级到Ant 1.9.5,看看问题是否得到解决。我下载了Ant 1.9.6,并让Netbeans使用它,如屏幕截图所示 错误和巨大的library.jar在3次快速清理和构建之后没有问题 然后:另一个错误:
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库文件上都有红色的Xs。唯一的方法是:关闭Windows,然后.jar文件消失;清洁和建造再次起作用——但会持续多久。句号
除了关机之外,很不方便删除.jar文件
希望这个错误很快得到修复。Ant1.4.9是一个非常旧的版本。你确定是那个版本吗?哦。1.9.4. 有点诵读困难。在OQ中添加了Ant屏幕。@manouti--非常感谢。我希望你在解决我的问题上是正确的。我已经下载了Ant1.9.6,但是如何让Netbeans使用它呢?当我让它检查更新时,它找不到任何更新。我注意到Netbeans当前找到Ant的地方(
C:\ProgramFiles\Netbeans 8.0.1\extide\Ant
)有四个文件夹,但Ant下载只有三个。额外的文件夹是nblib
,它无疑是“NetBeansLIB”,如果不从某处下载它,我认为它不会起作用。@DSlomer64我不使用NetBeans,但可能有用。