使用maven module建立一个spring boot项目,项目启动之后,在module里面得bean找不到。
原因是要在启动的module当中,将别的module作为dependency引入,例如,启动module为A,另外三个module为B,C,D,则在A的pom当中,需要下面这样的dependency.
<dependencies>
<dependency>
<groupId>com.XXX</groupId>
<artifactId>B</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.XXX</groupId>
<artifactId>C</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.XXX</groupId>
<artifactId>D</artifactId>
<version>${project.version}</version>
</dependency>
这样,在启动A module之后,就能找到别的module
2.IDEA 包导入了,但依然提示找不到
代码里面没有错误,但是一build就报包找不到:解决办法,重启idea,错误显示了出来,是那个class的包对应的module不在项目中了。重新把该module引入即可
3. Maven子module报错:dependency version找不到
错误信息如下:
[ERROR] 'dependencies.dependency.version' for org.dom4j:dom4j:jar is missing. @ line 24, column 21
[ERROR]
子module的dependency依赖如下:
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
</dependency>
我们知道maven的依赖是必须指定version的,这里的依赖的确没有指定version。并且再其父module当中也没有指定version。因此报错了。
解决办法是:
在父module的 dependency management当中,加入dom4j相关依赖
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
这样做的好处是,所有子module在需要使用这个依赖的时候,他们的version可以在这个地方统一管理起来。