【问题标题】:Syntax error on token "Invalid Character", delete this token标记“无效字符”的语法错误,删除此标记
【发布时间】:2011-10-31 01:23:20
【问题描述】:

我不确定为什么会出现此错误。大括号似乎是正确的。另一件事是相同的程序在 Windows-eclipse 中有效,但在 Mac 的 eclipse 中无效。可能是什么原因?

import java.util.Vector;

public class Debug 
{
    private int something = 0;
    private Vector list = new Vector();

    public void firstMethod()
    {
        thirdMethod(something);
        something = something + 1;
    }
    public void secondMethod()
    {
        thirdMethod(something);
        something = something + 2;
    }
    public void thirdMethod(int value)
    {
        something = something + value;
    }

    public static void main(String[] args)
    {
        Debug debug = new Debug();
        debug.firstMethod();
        debug.secondMethod();
    }
}

【问题讨论】:

标签: java eclipse macos syntax-error


【解决方案1】:

啊,好的 - 它可能是文件末尾的 control-Z 或其他不可打印的字符,在 Windows 中被忽略,但在 Mac 中却没有。您将源代码从 Windows 复制到 Mac。删除最后几个字符并重新输入它们 - 我认为它会消失。不过,我不做 Mac - 我只是猜测。

【讨论】:

  • 您还应该能够从“文件”菜单转换行分隔符(我怀疑这是实际问题)。
  • @nitind,是否会在文件最后一行之后的行上报告行分隔符问题?我本来希望在第 1 行或第 2 行看到它们。相同的设置是否也会悄悄地清理其他内容?
  • 可能,很难真正推测它会在哪里报告问题。该操作所做的只是转换行分隔符 - 它清理的任何内容都只是因为行分隔符已更改而被清理。
  • 当我的 JSP 中出现反引号 (`) 时出现此错误。您还可以使用 Notepad++“显示所有字符”功能来查看未显示的字符。
【解决方案2】:

我在将我的项目从 mac 导入到 linux Slackware 时遇到了同样的问题。 Mac OSX 会创建一些与所有文件夹中的文件夹 (._filename) 中的文件名称相同的临时文件。 通常这些文件在 Mac OSX 中是不可见的,但在其他操作系统中则不可见。 Eclipse 可以找到这些文件并尝试处理类似的源 (._filename.java)。 我解决了删除这些文件的问题。

【讨论】:

    【解决方案3】:

    我可以解决此问题的唯一方法是按 Ctrl+A 选择文件的所有文本,然后按 Ctrl+C 复制它们,然后删除文件并使用 intellij idea 创建新类,然后按 Ctrl+P 将文本粘贴到新文件中。这解决了我的问题,编译器在执行此解决方案后永远不会显示错误。

    【讨论】:

      【解决方案4】:

      当我们复制和粘贴时会发生这种情况。当某些字符在一个平台上无法识别但在另一个平台上可以识别时会发生这种情况。

      我建议不要复制而是尝试自己编写整个代码。它应该工作

      【讨论】:

        【解决方案5】:

        当我将在 Mac 中创建的项目导入 Windows 时,我遇到了同样的错误。正如@Massimo 所说,Mac 创建 ._filename,java 文件,在 windows 中运行的 eclipse 将其视为源文件。这就是导致问题的原因。

        它们是隐藏文件,当您在 Windows 机器的文件夹选项下选择“显示隐藏的文件和文件夹”选项时,您可以看到这些文件。删除这些文件可以解决问题。

        【讨论】:

          【解决方案6】:

          我在尝试从 tRunJob 组件调用子作业时收到此消息。在 tRunJob 中,我检查了“传输整个上下文”并在参数/值框中列出了各个参数。一旦我删除了其他参数,它就起作用了。

          【讨论】:

            【解决方案7】:

            该行中可能有隐藏字符。如果您将光标移过字符并且光标没有在一个字符中移动,则表示该行中有一个无效字符。删除那些,它应该工作。也可以尝试将该行复制并粘贴到十六进制编辑器中,您将在其中看到无效字符。

            【讨论】:

              【解决方案8】:

              我在 eclipse 中多次遇到这个问题。我发现选择所有代码 - 使用 Ctrl + x 剪切它,然后保存文件并再次使用 Ctrl + V 粘贴代码。当我从另一个编辑器复制代码时,这对我有用很多次。

              【讨论】:

              • 这似乎对您有用的任何特殊原因?
              【解决方案9】:

              在将代码从一台机器复制到另一台机器时,我也遇到了类似的问题。

              问题在于 Space 只有您需要识别 Eclipse 代码中的红色标记。

              【讨论】:

                【解决方案10】:

                在 Windows 上,如果您将源代码复制到记事本 - 保存文件(作为任何内容),确保选择 ASCI 编码 - 字符将转换为问号,然后您可以将其删除 - 然后将代码复制回日食。

                【讨论】:

                  【解决方案11】:

                  在eclipse中右键文件->属性->资源 在文本文件编码中选择 US-ASCII

                  这样你会看到所有的特殊字符,然后你可以找到并替换 然后格式化代码

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-05-29
                    相关资源
                    最近更新 更多