赞
踩
基础模块能编译成功,但是功能模块在引用相关类的时候报错无法找到相关类。因为项目之前在用确认没有变更过jdk环境等,确认应该是编译的class没有引入到具体的架包。本人对maven项目编译这块了解不深,于是请教度娘最终解决。
解决过程很简单:
分析原因:
maven项目中模块间的相互引用其实说到底还是对架包的引用,maven通过install把基础模块打成架包保存在maven的本地仓库,然后提供给其他模块引用。
Maven install 作用:
扩展maven生命周期Liftcycle:
文章来源:https://blog.csdn.net/mr_orange_klj/article/details/82153945
Maven是基于一个build lifecycle的中心概念,意味着构建和发布特定项目的过程是明确定义的。对于人们构建一个项目,这意味着只需要学会少数命令来构建任意maven项目,然后pom会确保他们会得到他们想要的结果。
有三种内置的build lifecycle:default,clean,site。default生命周期处理项目的部署,clean生命周期处理项目的清理,site生命周期生成站点文档。
Build Lifecycle由Phase组成
每种lifecycle由不同的一组phase组成,一个phase代表lifecycle的一个阶段。
默认lifecycle执行的phase:
validate:验证项目的正确性以及包含所有必要的信息
compile:编译源码
test:编译和运行测试代码
package:把编译好的源码打成包,如jar
integration-test
verify
install:把项目安装到本地仓库中去,作为本地其他项目的依赖
deploy:把最终的包拷贝到远程仓库上和其他开发者和项目分享
这些phase(包括没有列出来的phase)会被顺序地执行来完成default lifecycle。以上面的phase为例,这意味着当使用默认的lifecycle时,Maven会首先验证项目,然后尝试编译源码,运行测试,把二进制代码打包(如jar包),对这些包运行集成测试,验证集成测试,安装验证完的包到本地仓库去,然后把安装完的包部署到远程仓库。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。