簡體   English   中英

Ant 1.9.4不會使用Java 8清理和構建Netbeans 8.0.2項目。 給出空指針異常

[英]Ant 1.9.4 won't clean and build Netbeans 8.0.2 project using Java 8; gives null pointer exception

我的代碼沒有錯誤。 如果我選擇F6(運行),它將正常執行。 如果我清潔它,則沒有錯誤。 但是,如果我清理並構建,則由於Netbeans 8.0.2和/或Ant 1.9.4中的錯誤而出現這些錯誤。 完全不可接受的解決方法是創建一個新項目並將所有文件復制到其中。 這工作了一段時間。 然后我必須再做一次。

編輯

我使用tika-app-1.9.jar作為庫文件。 45MB。 如果刪除它,而是使用tika-parsers-1.10.jartika-core-1.10.jar作為庫文件,則我的程序沒有收到此錯誤,因此無法正確處理.PDF文件。 有了龐大的庫,該程序已經成功編譯了數十次,並且可以獨立運行(即在Netbeans之外)運行多次。

編輯結束

編輯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)

這是我的項目:

在此處輸入圖片說明 在此處輸入圖片說明

我沒有弄混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)

請注意以下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

檢查相關的ResourceUtils ,似乎在復制任務(可能是復制您的庫Jar文件的一個復制任務)中發生了異常,特別是在嘗試回退到另一個復制機制之前記錄錯誤時。

同時檢查Ant 1.9.5,看來問題已解決,並且發行說明Bug 57533中提到了此問題(如果copyUsingFileChannels失敗, 則為 NullPointerException FileUtil.rename / ResourceUtils.copyFile() )。

因此,我將嘗試升級到Ant 1.9.5,以查看問題是否得到解決。

我下載了Ant 1.9.6,並使Netbeans使用它,如屏幕快照所示。

經過3次快速清理和構建,錯誤和龐大的庫.jar都沒問題。

在此處輸入圖片說明

然后:另一個錯誤:

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文件非常不便。

希望該錯誤能盡快得到解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM