关于maven的plugin插件问题(踩坑)

关于maven的plugin插件问题(踩坑)

今天几乎花了一整天的时间来弄插件的问题

特此来复盘一下,没想到不起眼的plugin竟然困扰了我一天

问题一:父工程中添加子工程,找不到子工程plugin

形如:

在这里插入图片描述

在网上搜罗了很多解决方法,但不一定适合我这种问题

1、父工程和子工程名字不同(疑惑 但是我也照着改了 没解决)

2、在父工程中执行 clean compile (未解决

3、将idea中的maven 地址和settings.xml设置一致,如下

在这里插入图片描述

4、找到本地仓库目录 我的是 D:\maven\apache-maven-3.3.9-bin\repository\org\apache\maven\plugins

进去之后发现我确实是没有 =_= 如果有的话 可以试试直接把对应插件版本的文件夹删掉 重新打开IDEA 再clean compile

5、最后我是在每个子工程下分别执行clean compile 问题得到解决

问题二:新导入的开源项目与以前的plugin版本不同

例如:

在这里插入图片描述

可以在中添加指定版本的代码段

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-site-plugin</artifactId>
    <!-- 指定版本 -->
	<version>3.3</version>
</plugin>

问题三:对于类似于xxx-maven-plugin的插件报红

类似于这样的:

<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>wagon-maven-plugin</artifactId>
	<version>1.0</version>
</plugin>    

报红就直接用不了了

我们可以通过添加依赖的方式解决(原来的插件就是上面的代码不要删):

<dependency>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>wagon-maven-plugin</artifactId>
	<version>1.0</version>
	<type>pom</type>
</dependency>

问题四:导入开源项目为子工程时,项目结构不对

也就是maven继承parent的问题

形如:

在这里插入图片描述

project报红 直接让我破防

解决途径:在 中添加<relativePath/>

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.2.4.RELEASE</version>
    <relativePath/>
</parent>
Maven自定义插件是通过创建Plugin项目来实现的。在Maven项目中,插件被打包成jar文件,并在pom.xml中进行配置和调用。 首先,我们需要在插件项目的pom.xml中声明插件的元数据信息,包括插件的groupId、artifactId、version等。然后,在项目的src/main/java目录下创建插件的实现类,该类需要继承AbstractMojo类,并实现execute方法。在execute方法中编写插件的执行逻辑。 在定义插件时,除了实现类,还可以定义一些插件参数。这些参数可以通过插件的参数注解进行定义,并在插件实现类中获取和使用。参数注解包括@Parameter、@MojoParameter等。 在编写插件逻辑时,我们可以调用Maven提供的API来实现自定义的功能。这些API包括Project对象、MavenSession对象等,可以用于获取项目信息、执行Maven命令等。 编写插件完成后,我们需要在插件项目的pom.xml中配置maven-plugin-plugin插件来进行打包。该插件会根据插件项目中的配置信息来生成插件的描述文件。我们还可以在pom.xml中配置其他插件,用于生成插件的部署和安装文件。 最后,我们需要在使用插件的项目的pom.xml中进行插件的配置和调用。配置插件的groupId、artifactId、version等,并指定插件的执行阶段和参数等。 总的来说,Maven自定义插件是通过创建插件项目,编写插件类和配置插件的元数据信息来实现的。插件项目的打包和安装后,可以在使用插件的项目中进行配置和调用,实现自定义的功能。插件的编写和使用可以提高项目的灵活性和可扩展性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值