【发布时间】:2010-07-13 17:28:48
【问题描述】:
我之前一直将一个 3 模块项目作为 3 个单独的 maven 项目进行管理。随着这个项目的推进,我决定应该利用 maven2 的依赖管理来简化这 3 个不断发展的模块之间的集成。
我定义了一个部署为 POM 的超级项目。这里定义了一些共享依赖,在POM中按照依赖从最小依赖模块到最大依赖模块的顺序定义模块。每个模块都有一个返回给父模块的 POM 定义,并且它适用于从一个模块到另一个模块的已部署工件的依赖关系。我将在最后包含可能有价值的 pom.xml 行。
关于这个问题,我昨天设置了这个项目,并且能够让每个模块自行构建和工作。然后我今天回来处理其中一个模块,因为一些新的需求已经出现,突然间一切都被打破了。我在 Eclipse 中编辑项目,每次修改文件时,它都无法解析同一项目中定义的任何类。也就是说,如果我有一个类 foo.bar.class1 并且它有一个 foo.bar.class2 的对象,Eclipse(以及整个编译器)抱怨它无法解析类 foo.bar.class2 ......现在这个让我大吃一惊,因为这个其他类在同一个项目和包中。不在同一个包中的类也存在类似问题。
我的 maven 设置中是否有问题,或者有人知道为什么这些项目甚至无法解析同一个包中的类吗??
-::POMs::-
父级 -> /path/to/project/mainApp
<modelVersion>4.0.0</modelVersion>
<groupId>com.moremagic</groupId>
<artifactId>mainApp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Main App</name>
<modules>
<module>Broker</module>
<module>Soap</module>
<module>UI</module>
</modules>
代理 -> /path/to/project/mainApp/Broker
<parent>
<artifactId>mainApp</artifactId>
<groupId>com.moremagic</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.moremagic</groupId>
<artifactId>Broker</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
Soap -> /path/to/project/mainApp/Soap
<parent>
<artifactId>mainApp</artifactId>
<groupId>com.moremagic</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.moremagic</groupId>
<artifactId>SOAP</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
...
<dependency>
<groupId>com.moremagic</groupId>
<artifactId>Broker</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
...
UI -> /path/to/project/mainApp/UI
<parent>
<artifactId>mainApp</artifactId>
<groupId>com.moremagic</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.moremagic</groupId>
<artifactId>UI</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
...
<dependency>
<groupId>com.moremagic</groupId>
<artifactId>SOAP</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.moremagic</groupId>
<artifactId>Broker</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
...
【问题讨论】:
标签: java eclipse maven-2 compiler-errors