Java 标记“”上的语法错误;无效字符“;,删除此令牌

Java 标记“”上的语法错误;无效字符“;,删除此令牌,java,eclipse,macos,syntax-error,Java,Eclipse,Macos,Syntax Error,我不知道为什么会出现这个错误。牙套似乎是对的。另一件事是相同的程序可以在WindowsEclipse中工作,但不能在eclipse for Mac中工作。原因可能是什么 import java.util.Vector; public class Debug { private int something = 0; private Vector list = new Vector(); public void firstMethod() { t

我不知道为什么会出现这个错误。牙套似乎是对的。另一件事是相同的程序可以在WindowsEclipse中工作,但不能在eclipse for Mac中工作。原因可能是什么

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();
    }
}

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

我在将我的项目从Mac导入linux Slackware时遇到了同样的问题。 Mac OSX创建一些临时文件,这些文件与所有文件夹中文件夹中的文件同名(.\u filename)。 通常这些文件在MacOSX中是不可见的,但在其他OSs中不是。 Eclipse可以找到这些文件,并尝试像源代码(._filename.java)一样处理这些文件。
我解决了删除这些文件的问题。

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

我将在Mac中创建的项目导入Windows时也遇到了同样的错误。正如@马西莫所说的,MAC创建了<强> .java文件名,Java < /强>文件在Windows中运行的Eclipse被认为是源文件。这就是问题的原因


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

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

行中可能有隐藏字符。如果在字符间移动光标,但光标未在一个字符内移动,则表示行中存在无效字符。删除这些,它应该会起作用。还可以尝试将该行复制并粘贴到十六进制编辑器中,您将看到其中的无效字符。

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

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


问题在于空格,您只需要识别eclipse代码中的红色标记。

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


我建议不要抄袭,而是尝试自己编写整个代码。它应该在Windows上工作,如果您将源代码复制到记事本-保存文件(作为任何内容),确保选择了ASCI编码-字符将转换为问号,然后可以删除-然后将代码复制回Eclipse。

在Eclipse中右键单击文件->属性->资源 在文本文件编码中,选择US-ASCII

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


@Richa您的代码只有29行。您还应该能够从“文件”菜单转换行分隔符(我怀疑这是实际问题)。@nitind,行分隔符问题是否会在文件中最后一行之后报告?我本以为会在1号线或2号线看到他们。同样的设置也会悄悄地清理其他东西吗?可能,很难真正猜测它会在哪里报告问题。该操作所做的只是转换行分隔符——它清除的任何内容都只会被清除,因为行分隔符已更改。当JSP中出现反勾号(`)时,我出现了此错误。您也可以使用记事本++“显示所有字符”功能来查看未显示的字符。有什么特别的原因可以解释为什么这对您有效吗?