Eclipse:无法生成序列版本ID

时间:2013-07-15 10:47:53

标签: java eclipse

Eclipse 3.6(Helios)存在问题:

无论何时我想为扩展serialVersionUID类的类生成序列版本ID(serializable),我都会收到以下消息:

  

发生以下错误:找不到类文件。确保   文件是可编辑的。

我做错了什么?

谢谢。

11 个答案:

答案 0 :(得分:11)

就我而言,我通过以下方式解决了这个问题:

右键单击项目“Build Path” - > “配置构建路径” - > “来源”标签,删除标记为“缺失”的路径。

答案 1 :(得分:5)

有时候一个工具(例如AspectJ - AJDT或其他工具)会删除项目的Java性质,并且在编辑器中没有显示任何错误时它不会编译。

检查您是否有包含这两个条目的.project文件: org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>Myproject</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
            <!-- This one is required -->
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>

        <buildCommand>
            <name>org.eclipse.wst.common.project.facet.core.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>

            <!-- This one is required too -->
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    </natures>
</projectDescription>

答案 2 :(得分:2)

如果你有任何构建问题(错误),eclipse会给出

   Could not find class file. Make sure the file is compilable.

错误。确保它们的构建路径没有问题(例如...... Missisng类文件夹/ jar)。

答案 3 :(得分:2)

Eclipse使用org.eclipse.jdt.core.javabuilder - Builder来查找.class - 文件。但是生成器没有启动或没有找到.class - 文件。

.project - 文件缩小为

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>yourprojectsname</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

删除所有maven的构建路径条目。

添加Maven性质。

多数人。

答案 4 :(得分:2)

发生错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=259506

除了修改.project文件,正如Marc所说,Andrew Eisenberg建议再次尝试关闭和openiong项目。

在我的案例中使用两者都有帮助。

修改 前段时间我用集成的AspectJ开发工具搬到了eclipse。从那以后,我有方便的选项,每次都可以使用aspectJ。

enter image description here

答案 5 :(得分:1)

就我而言,我也用过,

右键单击项目“Build Path” - &gt; “配置构建路径” - &gt; “来源”标签,删除标记为“缺失”的路径。 虽然我不确定它是否会影响任何事物的项目依赖性。

答案 6 :(得分:0)

检查是否已启用自动构建。 类文件是生成串行版本UID所必需的。如果没有构建项目并再试一次。

答案 7 :(得分:0)

就我而言,我的eclipse工作区中有多个项目。解决方案是首先修复当前项目的所有错误,然后转到“问题”视图,修复或删除那里的所有错误。

现在,如果您重新执行eclipse quickfix“添加生成的串行版本ID”,它应该可以正常工作。

答案 8 :(得分:0)

在我的情况下(我使用Maven),我不得不删除本地存储库中的一个依赖项,因为它已经损坏了。查找有关问题阅读依赖性jar的错误。

答案 9 :(得分:0)

我遇到了同样的问题。这对我有用:

  1. 转到标签导航器:窗口&gt;显示视图&gt;导航
  2. 右键单击Project
  3. 构建项目
  4. 再次尝试生成序列版本ID

答案 10 :(得分:0)

转到:

Window > Show View > Other..

选择:

General > Problems

您可以看到所有的Eclipse问题,包括jar依赖项。我的问题是我缺少必需的jar文件。一旦我添加了那个jar文件,问题就解决了。