Dav*_*ave 7 java inheritance maven
我有一个相当简单的maven-ized Java项目,但我很难理解它.
我的父模块定义了许多我希望对几个子模块有用的Java类(和依赖项).其中一个子模块专门用于部署Web应用程序,因此它需要一些额外的类(servlet)以及来自父模块的所有内容.
文件结构如下所示
- parent
- src
- pom.xml
- child
- src
- pom.xml
Run Code Online (Sandbox Code Playgroud)
我的父母pom看起来像这样:
<project>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
...
<modules>
<module>child</module>
</modules>
</project>
Run Code Online (Sandbox Code Playgroud)
孩子看起来像这样:
<project>
<artifactId>child</artifactId>
<packaging>war</packaging>
<parent>
<artifactId>parent</artifactId>
<groupId>my.group</groupId>
<version>0.0.1</version>
</parent>
...
</project>
Run Code Online (Sandbox Code Playgroud)
这是我需要让孩子知道父类中定义的类和依赖关系吗?它似乎不是:eclipse给出编译错误,并且从父文件夹或子文件夹运行mvn clean包时,在提到父类的任何时候都会"无法找到符号"消息.
我究竟做错了什么?
Roa*_*ner 16
我会像这样更改项目的结构:
家长:
<project>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<modules>
<module>core</module>
<module>child</module>
<!-- possibly more modules... -->
</modules>
</project>
Run Code Online (Sandbox Code Playgroud)
核心:
<project>
<parent>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>0.0.1</version>
</parent>
<artifactId>core</artifactId>
<packaging>jar</packaging>
</project>
Run Code Online (Sandbox Code Playgroud)
儿童:
<project>
<parent>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>0.0.1</version>
</parent>
<artifactId>module1</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>my.group</groupId>
<artifactId>core</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9934 次 |
| 最近记录: |