1.jdk安装位置及设置:
设置JAVA_HOME
$sudo gedit /etc/profile
编辑该文件:
在文件的最后加上
#set java enviroment
JAVA_HOME=/usr/local/jdk-12
CLASS_PATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
2.maven安装及设置
设置MAVEN_HOME
$sudo gedit ~/.bashrc
编辑该文件,在文件的最后加上:
#set maven environment
MAVEN_HOME=/home/sky/下载/apache-maven-3.6.1
PATH=$PATH:$MAVEN_HOME/bin
继承与聚合
软件开发->划分模块,按模块开发:一个项目的子模块都应使用相同的groupId,如果他们一起开发和发布还应使用相同的version,同一项目的各个子模块还应使用相同的前缀,以便与其它项目区分。
Note:测试接口而不是测试实现,测试代码不能引用实现类,因为测试是从接口的用户角度编写的,这样就能保证接口用户无需知道接口的实现,保证了解耦。
:声明继承,继承特性抽取各个模块相同的依赖和插件配置
:声明组合,聚合特性把项目的各个模块聚合在一起构建,而不是到各个模块的目录下分别构建
聚合:
<modelVersion>
<groupId>
<artifactId>
<version>
<name>
<packing>pom</packing> # 聚合模块的打包方式必须为pom否则无法构建
<modules>
<module>account-email<module>
<module>account-persist<module>
<modules>
每一个的值都是一个当前POM的相对目录
上面account-aggregator的POM路径:…/account-aggregator/pom.xml
account-email就对应了目录:…/account-aggregator/account-email/
account-persist 就对应了目录:…/account-aggregator/account- persist/
每个目录下都包含pom.xml,src/main/java,src/test/java,各个目录离开account-aggregator也 能独立构建
为了方便构建,将聚合模块放在项目目录的最顶层,其它模块则作为聚合模块的子目录存在。
聚合模块也可用平行的目录结构。
则上述的结构应改为:
<modules>
<module>../account-email<module>
<module>../account-persist<module>
<modules>
继承:
在account-aggregator下创建一个account-parent子目录,然后在该子目录下建立一个除account-aggregate外的所有模块的模块,在该目录下创建一个pom.xml
<modelVersion>
<groupId>
<artifactId>
<version>
<packing>pom</packing>
<name>
修改account-emial继承父模块:
增加:
<moduleVersion>
<parent>
<groupId>
<artifactId>
<version>
<relativePath>../account-parent/pom.xml</relativePath>
</parent>
<artifactId>
<name>
从当前模块位置到达其父模块POM的相对路径,默认值…/pom.xml,即Maven默认父模块在上一层目录
父模块是没有安装到本地仓库的,若子模块没有设置正确的relativePath将导致构建失败
子模块使用与父模块相同的groupId与version,若不同则显示声明
最后将account-parent加入到聚合模块中。