簡體   English   中英

在 Netbeans 7.3.1 中解析文件 JSP 或 JAVA 時出錯

[英]Error Parsing File JSP or JAVA in Netbeans 7.3.1

我將我的項目從 Net beans 6.9.1 遷移到 Net Beans 7.3.1,並遇到了這個惱人的錯誤,隨機文件 jsp 或 java 上的紅色感嘆號圖標。

我打開它們並沒有發現任何錯誤。

我在搜索谷歌后嘗試了一些建議以禁用 html 和 jsp 驗證但沒有運氣,另一個建議是刪除用戶目錄文件夾緩存下的緩存文件C:\\Users\\home\\.netbeans\\6.9\\var\\cache並且也沒有運氣!!!

解決錯誤不完整

java文件錯誤示例

您可以嘗試執行以下操作...它對我有用

例如,重命名 jsp 或 java 的文件以使錯誤消失

test.java 重命名為 test_.java 然后重命名回 test.java

jsp 或 xml 也一樣

參考文獻

把它翻譯成英文

通過在其中一些項目中的一些項目中使用 netbenas,netbeans 文件將一些文件標記為欽佩的符號和消息“錯誤解析文件”。 這是因為 netbenas 緩存出現問題。 解決辦法是關閉netbenas,clean(刪除緩存文件並啟動netbenas會返回。下面是一些操作系統緩存的不同路徑。

WINDOWS:C:\\Users\\AppData\\Local\\NetBeans\\Cache\\7.2\\
MAC OS X: / 用戶 // 庫/緩存/NetBeans/7.2 /
UNIX:/home // .cache/netbeans/7.2

祝你好運

我在我的 Java 文件(IDE:Netbeans)中修復了“錯誤解析文件”,方法是刪除最底部“}”之前的空格,然后按 Enter。 基本上,只需對文件進行一些修改並再次保存即可。

在我的例子中,我有一個類似於以下的類,Netbeans (8.2) 在文件中沒有顯示錯誤,但是在文件圖標中它顯示了解析文件的錯誤:

public class FileUploadUtil {

    private static interface WriteToFile {
        public void run(File file) throws IOException;
    }

    private static interface UseFile {
        public void run(File file) throws IOException;
    }

    private static void createAndUseTempFile(InputStream is, UseFile use) throws IOException {
        createAndUseTempFile((file) -> {
            try (FileOutputStream fos = new FileOutputStream(file)) {
                byte[] bytes = new byte[1024];
                int read;

                while ((read = is.read(bytes)) != -1) {
                    fos.write(bytes, 0, read);
                }

                fos.flush();
            }
        }, use, "tmp"); 

    }

    private static void createAndUseTempFile(Image image, UseFile use, String extension) throws IOException {
        createAndUseTempFile((file) -> image.writeToFile(file), use);
    }

    private static void createAndUseTempFile(WriteToFile write, UseFile use, String extension) throws IOException {
        File file = null;

        try {
            String key = System.currentTimeMillis() + "-" + SecurityUtil.generateUUID();
            String suffix = (extension != null) ? ("." + extension) : null;
            file = File.createTempFile(key, suffix);
            write.run(file);            
            use.run(file);
        } finally {
            if (file != null) {
                file.delete();
            }
        }
    }
}

方法:

private static void createAndUseTempFile(Image image, UseFile use, String extension) throws IOException {
    createAndUseTempFile((file) -> image.writeToFile(file), use);
}

應該是:

private static void createAndUseTempFile(Image image, UseFile use, String extension) throws IOException {
    createAndUseTempFile((file) -> image.writeToFile(file), use, extension);
}

但是 Netbeans 沒有顯示文件中的錯誤,所以我嘗試重新加載項目,重命名文件等等。

然后我嘗試用 gradle 編譯並收到錯誤:

FileUploadUtil.java:95: error: incompatible types: InputStream is not a functional interface

然后我意識到它正在嘗試調用createAndUseTempFile(InputStream is, UseFile use)而不是createAndUseTempFile(WriteToFile write, UseFile use, String extension) ,但是因為 InputStream 不是一個功能接口並且不擴展/實現一個接口有一個接收File的方法,它不能調用該方法(也不應該!)。

我認為在這種情況下這是一個 Netbeans 錯誤,因為它應該在該行中顯示錯誤。

有時我在 JSP 文件中嵌入 JavaScript 時遇到這些問題,尤其是當 JavaScript 部分包含 JSTL EL 表達式時。 在這些情況下,NetBeans 項目樹視圖顯示 JSP 文件的紅色感嘆號( “Error parsing file” ),但在打開文件時,它沒有顯示一行錯誤。

思路一:在 JavaScript 部分添加 HTML 注釋,讓 JSP/HTML 語法高亮引擎忽略這些部分:

<b>Very primitive example</b>
<script type="text/javascript">// <!--
    var foo = ${myBean.bar};   // -->
</script>

想法 2:將盡可能多的 JavaScript 代碼放入外部 JS 文件中。 一般來說,避免在 JSP/HTML 文件中使用 JavaScript 代碼是個好主意,因為這允許您使用額外的反 XSS 措施,X-XSS-Protection

如果在 Netbeans 8.2 中有不必要的 lambda return 語句,可能會發生

我不確定這是否有幫助,但我使用的是 netBeans IDE 8.2,我的一個 Dialogs exampleDialog.java 顯示了一個紅色標記,文件中沒有錯誤。

我正在使用 Dimension wndSize;

wndSize = theKit.getScreenSize();

並在設置窗口大小時使用wndSize.getWidth(); wndSize.getHeight(); 這些是錯誤的,我將它們更改為wndSize.width; wndSize.height;

紅色的印記消失了。

問候邁克爾。

無需擔心! 這是因為在對 servets 或jsp進行任何更改后,您需要保存文件。

所以首先保存你的文件然后一切順利。 這對我有用!

它也向我展示了這樣的錯誤

在此處輸入圖片說明

我該如何解決

暫無
暫無

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

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