【问题标题】:Error Parsing File JSP or JAVA in Netbeans 7.3.1在 Netbeans 7.3.1 中解析文件 JSP 或 JAVA 时出错
【发布时间】:2013-10-05 14:16:43
【问题描述】:

我将我的项目从 Net bean 6.9.1 迁移到 Net Beans 7.3.1 并遇到了这个恼人的错误,随机文件 jsp 或 java 上出现红色感叹号图标。

我打开它们并没有发现任何错误。

我在搜索谷歌后尝试了一些建议以禁用 html 和 jsp 验证但没有运气,另一个建议是删除用户目录文件夹缓存下的缓存文件 C:\Users\home\.netbeans\6.9\var\cache 也没有运气!!!

resolve bug incomplete

sample of java file error

【问题讨论】:

  • 我一步一步做了:打开js文件,ctrl+a,删除文本,保存文件。所以,按 ctrl+z 并再次保存。
  • @dellasavia 你是什么意思,它是否有效?
  • 它对我有用。红色感叹号消失了。
  • @dellasavia 哦,我明白了,它曾经对我有用,但不适用于所有 jsp 和课程

标签: java jsp netbeans


【解决方案1】:

您可以尝试执行以下操作...它对我有用

例如重命名jsp或java的文件以使错误消失

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

jsp 和 xml 也一样

参考

translate it to english

通过在其中一些项目中与 netbenas 合作完成一些项目 netbeans 文件用钦佩的符号标记了一些文件, 消息“解析文件错误”。这是因为有问题 netbenas 缓存。解决方法是关闭netbenas,清理 (删除缓存文件并启动netbenas将返回。这里是 某些操作系统缓存的不同路由。

WINDOWS: C:\用户 \AppData\Local\NetBeans\Cache\7.2\
MAC OS X:/Users// 库/Caches/NetBeans/7.2 /
UNIX: /home // .cache/netbeans/7.2

祝你好运

【讨论】:

  • 不走运,甚至尝试添加一个我明确导入的新类。
  • @AdiPrasetyo 你想知道我用 NetBeans 做了什么吗?我把时间花在了 IntelliJ 或其他方面,因为 NetBeans 是浪费时间!这是残酷的事实
【解决方案2】:

我在我的 Java 文件(IDE:Netbeans)中修复了“错误解析文件”,只需删除最底部“}”之前的空格并按 Enter。基本上,只需对文件进行一些修改并再次保存即可。

【讨论】:

    【解决方案3】:

    在我的例子中,我有一个类似于以下的类,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 错误,因为它应该在该行中显示错误。

    【讨论】:

      【解决方案4】:

      有时我会在 JSP 文件中嵌入 JavaScript 时遇到这些问题,尤其是当 JavaScript 部分包含 JSTL EL 表达式时。在这些情况下,NetBeans 项目树视图显示 JSP 文件的红色感叹号(“解析文件错误”),但在打开文件时,它没有显示一行错误。 p>

      想法1:将HTML cmets添加到JavaScript部分,以使JSP/HTML语法高亮引擎忽略这些部分:

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

      想法 2:将尽可能多的 JavaScript 代码放入外部 JS 文件中。一般来说,最好避免在 JSP/HTML 文件中使用 JavaScript 代码,因为这允许您使用额外的 anti XSS measures,例如 X-XSS-Protection

      【讨论】:

      • 其实我会试一试,虽然重命名文件可以解决问题!
      【解决方案5】:

      如果在 Netbeans 8.2 中有不必要的 lambda return 语句,可能会发生

      【讨论】:

      • 或相反。我有一个忘记返回的 lambda。 (因为是泛型的 lambda,在那个时候,返回值并不重要)。
      【解决方案6】:

      我不确定这是否有帮助,但我使用的是 netBeans IDE 8.2,并且我的一个对话框 exampleDialog.java 上显示了一个红色标记,并且文件中没有错误。

      我使用的是 Dimension wndSize;

      wndSize = theKit.getScreenSize();
      

      在设置窗口大小时,我使用 wndSize.getWidth();wndSize.getHeight(); 这些是错误的,我将它们更改为 wndSize.width;wndSize.height;

      红色标记消失了。

      问候迈克尔。

      【讨论】:

        【解决方案7】:

        不用担心!这是因为在您对服务或jsp 进行任何更改后,您需要保存您的文件。

        所以首先保存您的文件,然后一切顺利。 这对我有用!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多