项目'X'缺少必需的Java项目:'Y'

时间:2014-02-26 18:35:21

标签: java eclipse maven dependency-management

我创建了一个Maven项目,包装类型为“jar”,名为“Y” 我已经完成了“Maven安装”,我可以在我的本地存储库中找到它..

然后,我创建了另一个包装类型为“war”的项目,名为“X”。在这个项目中,我向“Y”jar添加了一个依赖项,如下所示:

<dependency>
   <groupId>my.pck</groupId>
   <artifactId>Y</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <type>jar</type>
</dependency>

我的问题是,当我关闭项目“Y”时,我收到此错误:

Project 'X' is missing required Java project: 'Y'

但是,它并没有说“缺少工件”......在所有情况下,当我尝试部署“X”时,我得到了这个:java.lang.ClassNotFoundException:我在项目“Y”中拥有的每个类“并用于项目”X“......

4 个答案:

答案 0 :(得分:25)

谢谢你@Eldad,你的评论让我发现了问题。

在Eclipse IDE下:     右键单击“X”项目&gt;构建路径&gt;配置构建路径&gt;项目&gt;检查Y&gt;点击“删除”

现在在部署X战时没有错误。

答案 1 :(得分:3)

我过去见过这个错误;您提到了eclipse,因此它可能与将Eclipse项目从一个工作空间移动到另一个工作空间有关。

检查.classpath.project文件,查找无效目录资源的链接;根据需要调整:

<linkedResources>
    <link>
        <name>.link_to_something</name>
        <type>2</type>
        <location>C:/Users/user/projects/someproject/plugins</location>
    </link>
</linkedResources>

答案 2 :(得分:1)

此错误消息表示您的某个eclipse项目依赖于另一个项目。您尚未设置或未打开的。修改Eclipse构建路径,使其不再需要其他项目(将该依赖项替换为对jarfile或其他所用代码/资源的引用),或者设置该项目。

答案 3 :(得分:1)

好的,如果上述内容不起作用,请尝试以下操作。它对我有用。

故事的道德:定期保存项目的.metadata和.recommenders。它们可能很有用。

问题发生的原因:我将项目Y添加到Project X,然后将其删除。 Eclipse没有正确地完全删除Y并开始抱怨如上所述。

版本和配置:Eclipse Neon。遗产。没有maven等。

什么有用:0)退出eclipse。

1)制作了整个X目录的副本。为了安全起见。

2)删除了以上两个。目录。

3)复制这些目录的旧保存版本以替换已删除的版本。

4)重启Eclipse。它做了一些常规的抱怨。但我做了以下事情:

4.1)清洁 4.2)刷新 4.3)构建所有

5)它奏效了。我多次退出并重启Eclipse,以确保问题不再出现。到目前为止一切都很好。