繁体   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