Eclipse“这个编译单元不在java项目的构建路径上”

时间:2010-02-05 10:43:07

标签: eclipse svn

我无法在Eclipse上使用自动完成功能。

我正在研究svn上的项目。我通过进入

在Eclipse中设置项目

档案 - >导入 - >结帐作为项目 - >新项目向导。

我选择Enterprise Java Application并正在下载。一切似乎工作正常,除了自动完成工作,因为我希望我得到一个显示消息的弹出对话框

  

此编译单元不在java项目的构建路径上。

我用谷歌搜索了但是每个人都说该项目必须是Java项目。但是,嘿,它!有什么问题?

更新

svn上的目录结构如下所示:

-Project_name
  -application
     -META-INF
       application.xml
       MANIFEST.MF
  +build
  +db
  +deploy
  +dist
  +lib
  +properties
  +script
  -src
     -META-INF
        someother.xml (datasource info)
        persistence.xml
        folder hierarchy with source files (should be package)
  -web
     some folders
          .
          .
     files
       .
       .
     -WEB-INF
        faces-config.xml
        jboss-web.xml
        web.xml
     build_win.xml

如何告诉Eclipse源文件夹,application.xml和其他配置xml文件在哪里?

25 个答案:

答案 0 :(得分:122)

如果在父项目下有多模块maven项目,请确保您没有在maven父项目中编辑该文件。

答案 1 :(得分:17)

我做了一件正确检查的项目是

1)从svn

导入你的项目
      file-->import-->SVN-Checkout Projects From SVN

2)找到您的项目,然后在“签出为”对话框中确保您选择了单选按钮“签出为使用新建项目向导配置的项目”

3)经常性步骤。

向导正确拉动项目,然后设置你的日食......

没有使用向导我发现所有的地狱都松了......

希望这会有所帮助......

答案 2 :(得分:16)

这是我的.project文件中缺少的内容:

    <projectDescription>
        ...
        <buildSpec>
            <buildCommand>
                <name>org.eclipse.jdt.core.javabuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildspec>
        ...
        ...
        ...
        <natures>
            <nature>org.eclipse.jdt.core.javanature</nature>
            <nature>org.eclipse.m2e.core.maven2Nature</nature>
        </natures>
        ...
    </projectDescription>

答案 3 :(得分:10)

我不时会遇到这个问题,而且往往是因为项目没有标记为java项目。您可以通过转到项目的属性&gt;来更改此设置。项目方面&gt;并选择java。然后,您可能需要正确配置该项目,但这可能是问题的一部分

答案 4 :(得分:4)

您的文件夹中是否有.project文件?

我遇到了同样的问题。比我意识到我没有.project文件。

答案 5 :(得分:4)

我可能会从很多评论中找到错误的东西,但如果您使用的是Maven,那么您是否正在执行常规的命令提示符构建和清理?

转到cmd,导航到您的工作区(通常是c:/ workspace)。然后运行“mvn clean install -DskipTests”

之后运行“mvn eclipse:eclipse eclipse:clean”(不需要担心管道)。

此外,您的项目中是否有任何模块依赖项?

如果是这样,请尝试删除依赖项,单击“应用”,然后读取依赖项。因为这可以在有时与buildpath混淆时设置eclipse。

希望这有帮助!

答案 6 :(得分:4)

将我的java项目转换为maven项目后,我也遇到了这个问题。我解决了它如下:

右键点击您的项目 - &gt; Project Facets - &gt;单击Java,然后单击Apply。

答案 7 :(得分:2)

mvn eclipse:eclipse

解决了我的问题

答案 8 :(得分:2)

我确实从另一个项目中复制了.classpath和.project并正确调整了值。

在编辑这些文件之前关闭项目,当你确定它们反映现实时(无论如何你的现实),在Eclipse中重新打开项目。

重建工作区,从那时起所有工作都应该有效。

答案 9 :(得分:2)

就我而言,这是一个maven项目

从eclipse中删除项目,留下来源 近食 从文件系统中删除

.TARGET / 的.classpath 。项目 .settings / 开日食 再次导入Maven项目

这解决了问题

答案 10 :(得分:2)

您可能想尝试使用-clean启动选项运行eclipse - 它会尝试重新构建eclipse的工作区元数据。

答案 11 :(得分:1)

您的源文件应位于 Package Explorer 视图中的“包”图标结构中(在 Window > 显示视图<下的菜单中< / em>&gt; Package Explorer 或按 Ctrl + 3 并输入 pack ),如下所示:

Java project in Eclipse http://i48.tinypic.com/2419r80.png

如果不是,请选择包含根软件包的文件夹(上图中的 src ),然后从上下文菜单中选择用作源文件夹(右键单击)

答案 12 :(得分:1)

我做的是从svn导入项目后,从工作区删除项目并将其作为maven项目从本地导入。然后进去 在usersettings框中的preferences-&gt; maven-&gt; usersettings-&gt;给出了settings.xml的路径,该路径将位于apache maven文件夹中 - &gt; conf-&GT; settings.xml中

它为我解决了这个问题。

答案 13 :(得分:1)

有同样的问题(但与Maven)。原因是执行程序的选择不正确:我的项目使用了不能从嵌入式安装Maven中获取的全局设置。将其更改为外部(Window - &gt; Preferences - &gt; Maven - &gt; Installations)并修复了问题。

答案 14 :(得分:1)

这里是在eclipse中创建源文件夹的步骤。

  1. 右键单击项目并转到属性
  2. 从属性对话框中选择“Java Build Path”
  3. 选择源选项卡并检查源文件夹是否正确如果不单击删除按钮以删除源文件夹,或单击添加按钮以添加源文件夹。
  4. 您可以在配置构建路径选项上的订单和导出选项卡上控制源文件夹在项目中的显示顺序。

答案 15 :(得分:0)

有同样的问题。 解: 上下文菜单 - &gt; Maven - &gt;启用依赖关系管理

退房时不知道为什么会丢失。

答案 16 :(得分:0)

我发现由于我的文件(包括我的主类)在.src文件夹之外,我收到此错误。

答案 17 :(得分:0)

对我有用的是从另一个项目中获取.settings /目录。

答案 18 :(得分:0)

运行&#34; mvn eclipse:eclipse&#34;来自终端。

答案 19 :(得分:0)

如果您是初学者(像我一样),解决方案可能就像确保您正在使用的文件是Java项目的父文件夹一样简单。

我犯了一个错误,就是创建一个Java文件夹,然后在文件夹中创建一个文件并期望它能够正常工作。如果您想避免此错误,该文件需要存在于项目中。

答案 20 :(得分:0)

就像消息所说的那样,该项目的Java Build Path(例如Source文件夹)中的文件是什么?

答案 21 :(得分:0)

导入由嵌套微服务组成的Maven项目后,我遇到了同样的问题。这就是我在Eclipse中解决它的方法:

  1. 右键单击项目
  2. 选择配置
  3. 选择“配置和检测嵌套项目”

答案 22 :(得分:0)

我通过在 Java Build Path 中添加项目解决了这个问题

在项目上右键->属性->java构建路径->添加

enter image description here

答案 23 :(得分:-1)

例如,如果有4个项目和根项目,则添加其他子项目以构建根项目的路径。如果没有选择构建路径,请将以下代码添加到.project文件中。

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

答案 24 :(得分:-1)

  1. 删除项目(不要删除文件系统中的原始文件)
  2. 右键单击Package explorer区域,然后右键单击import。
  3. 转到Maven文件夹并点击导入现有的maven项目。
  4. 希望有所帮助