从maven查找问题到plexus (1)

本文探讨了在Maven编译过程中如何输出动态文件的思考,详细解析了Maven命令行执行的流程。从mvn.cmd到plexus-classworlds-2.5.2.jar的Launcher类,再到m2.conf的硬核解析,揭示了classworlds中的realm概念。进一步,文章指出plexus-classworlds将控制权交给MavenCli,并在maven-embedder-3.5.0.jar中执行主要逻辑。在Maven执行过程中,发现了类似Spring的IoC容器机制,通过@Requirement和@Component注解进行组件管理。作者计划在后续研究中继续深入探索。
摘要由CSDN通过智能技术生成

想在maven编译过程中输出动态的文件,晚上稍微看了下maven的实现,还没研究完。先记录下来。

maven启动的命令行:
在windows上,mvn=mvn.cmd。
mvn执行的命令行如下:

"C:\Program Files\Java\jdk1.8.0_261\bin\java.exe" 
 -classpath "D:\DataCenter\Program\apache-maven-3.5.0\bin\..\boot\plexus-classworlds-2.5.2.jar"   
 "-Dclassworlds.conf=D:\DataCenter\Program\apache-maven-3.5.0\bin\..\bin\m2.conf"   
 "-Dmaven.home=D:\DataCenter\Program\apache-maven-3.5.0\bin\.."   
 "-Dmaven.multiModuleProjectDirectory=D:\dev\git\demo-app"   
 org.codehaus.plexus.classworlds.launcher.Launcher clean package

主类是:org.codehaus.plexus.classworlds.launcher.Launcher
在 plexus-classworlds-2.5.2.jar 中找到它。
里面有对m2.conf的解析过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值