maven dependency 和 plugin 的理解

发布于 2022-09-12 01:55:22 字数 266 浏览 18 评论 0

一个具体的例子是我们声明了 mapstruct 的 dependency 就可以正常工作了, 没有声明 mapstruct 的 plugin, 那么 mapstruct 在编译期自动实现接口的功能是怎么触发的呢?

问题2:
maven 声明了 dependency, maven 会做什么?
maven plugin 什么时候需要声明? 声明了 plugin, maven会做什么呢?

谢谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抠脚大汉 2022-09-19 01:55:22

问题1:maven 声明了 dependency, maven 会做什么?

答案:maven是一个构建工具,帮助我们管理应用的依赖。当添加了一个maven的dependency时,maven只做了一件事情:

把这个dependency对应的jar包添加到当前应用中

这个过程分为以下几步:

  1. 从本地仓库查找是否已经有这个dependency的jar包,如果有,直接添加;否则进行下一步
  2. 去远程仓库查找这个dependency的jar包,并下载到本地仓库
  3. 将下载到本地仓库的jar包添加到当前应用中

问题2:maven plugin 什么时候需要声明? 声明了 plugin, maven会做什么呢?

答案:maven是个插件化的结构,clean、package、install、deploy这些生命周期的操作,都会用到相应的插件,所以你这个问题我只能说,在需要用的时候会用。。
当然,这么说太耍流氓了,举个例子:

<!-- 局部jdk配置,pom.xml中 -->  
    <build>    
        <plugins>    
            <plugin>    
                <groupId>org.apache.maven.plugins</groupId>    
                <artifactId>maven-compiler-plugin</artifactId>    
                <configuration>    
                    <source>1.8</source>    
                    <target>1.8</target>    
                </configuration>    
            </plugin>    
        </plugins>    
    </build>

这个插件可以说是最常见的了,它是用来让maven做jdk的版本管理的。maven默认用jdk1.5来编译程序,当你不添加这个插件去编译程序时,很有可能会编译不了,加上就可以了。即插即用,方便快捷。
更多的内容,推荐你去看一本书《maven实战》,里边讲解的比较详细。

烟若柳尘 2022-09-19 01:55:22

mapstruct 是一个 annotation processor,和 lombok 一样,在编译器触发运行

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文