maven-assembly-plugin报红无法加载报错:Plugin ‘maven-assembly-plugin:‘ not found

 更新时间:2023年08月08日 15:02:13   作者:海若[MATRIX]  
maven-assembly-plugin是一个常用的打包插件,但是在使用过程中经常会遇到各种报错,本文就来介绍一下maven-assembly-plugin报红无法加载报错,具有一定的参考价值

1.问题描述

maven pom.xml中maven-assembly-plugin报红,无法加载

2.pom文件build构建部分详解

  <build>
    <!--当项目没有规定目标(Maven2 叫做阶段)时的默认值-->
    <defaultGoal>install</defaultGoal>
    <!--build目标文件的存放目录,默认在 ${basedir}/target 目录-->
    <directory>${basedir}/target</directory>
    <finalName>${artifactId}-${version}</finalName>
    <filters>
      <filter>filters/filter1.properties</filter>
    </filters>
    <!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。-->    
    <resources>    
      <!--这个元素描述了项目相关或测试相关的所有资源路径-->    
      <resource>    
        <!-- 描述了资源的目标路径。该路径相对target/classes目录(例如${project.build.outputDirectory})。举个例 子,如果你想资源在特定的包里(   org.apache.maven.message,你就必须该元素设置为org/apache/maven /messages。然而,如果你只是想把资源放到源码目录结构里,就不需要该配置。-->    
        <targetPath/>    
        <!--是否使用参数值代替参数名。参数值取自properties元素或者文件里配置的属性,文件在filters元素里列出。-->    
        <filtering/>    
        <!--描述存放资源的目录,该路径相对POM路径-->    
        <directory/>    
        <!--包含的模式列表,例如**/*.xml.-->    
        <includes/>    
        <!--排除的模式列表,例如**/*.xml-->    
        <excludes/>    
      </resource>    
    </resources>    
    <!--这个元素描述了单元测试相关的所有资源路径,例如和单元测试相关的属性文件。-->    
    <testResources>    
      <!--这个元素描述了测试相关的所有资源路径,参见build/resources/resource元素的说明-->    
      <testResource>    
        <targetPath/>
        <filtering/>
        <directory/>
        <includes/>
        <excludes/>    
      </testResource>    
    </testResources>
<!-- 在build时,执行的插件,比较有用的部分,如使用jdk 8.0编译等等-->
    <plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
          <configuration>
              <tagBase>${git.conn}</tagBase>
              <branchBase>${git.conn}</branchBase>
              <username>${git.username}</username>
              <password>${git.password}</password>
          </configuration>
      </plugin>
      ...
    </plugins>
    <!--子项目可以引用的默认插件信息。该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置-->
    <pluginManagement>
      <plugins>
        ...
      </plugins>
    </pluginManagement>
  </build>
</project>

3.pom文件dependencies依赖部分详解

依赖关系:

<dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.0</version>  
      <type>jar</type>  
      <scope>test</scope>  
      <optional>true</optional>  
    </dependency>  
    ...  
  </dependencies>

groupId, artifactId, version:描述了依赖的项目唯一标志

可以通过以下方式进行安装:

使用以下的命令安装:

mvn install:install-file –Dfile=non-maven-proj.jar –DgroupId=some.group –DartifactId=non-maven-proj –Dversion=1创建自己的库,并配置,使用deploy:deploy-file

设置此依赖范围为system,定义一个系统路径。不提倡。

  • type:相应的依赖产品包形式,如jar,war
  • scope:用于限制相应的依赖范围,包括以下的几种变量:
  • compile :默认范围,用于编译
  • provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
  • runtime:在执行时,需要使用
  • test:用于test任务时使用
  • system:需要外在提供相应得元素。通过systemPath来取得
  • systemPath: 仅用于范围为system。提供相应的路径
  • optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用独占性外在告诉maven你只包括指定的项目,不包括相关的依赖。此因素主要用于解决版本冲突问题
<dependencies>  
    <dependency>  
      <groupId>org.apache.maven</groupId>  
      <artifactId>maven-embedder</artifactId>  
      <version>2.0</version>  
      <exclusions>  
        <exclusion>  
          <groupId>org.apache.maven</groupId>  
          <artifactId>maven-core</artifactId>  
        </exclusion>  
      </exclusions>  
    </dependency>

表示项目maven-embedder需要项目maven-core,但我们不想引用maven-core

4.pom文件其他标签描述

  • 继承关系
  • 一个强大的变化,maven带来的是项目继承。主要的设置:
  • 定义父项目
<project>  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>org.gene.demo</groupId>  
  <artifactId>my-parent</artifactId>  
  <version>2.0</version>  
  <packaging>pom</packaging>  
</project>

packaging 类型,需要pom用于parent和合成多个项目。我们需要增加相应的值给父pom,用于子项目继承。主要的元素如下:

  • 依赖型
  • 开发者和合作者
  • 插件列表
  • 报表列表
  • 插件执行使用相应的匹配ids
  • 插件配置
  • 子项目配置
<project>  
  <modelVersion>4.0.0</modelVersion>  
  <parent>  
    <groupId>org.gene.demo</groupId>  
    <artifactId>my-parent</artifactId>  
    <version>2.0</version>  
    <relativePath>../my-parent</relativePath>  
  </parent>  
  <artifactId>my-project</artifactId>  
</project>

relativePath可以不需要,但是用于指明parent的目录,用于快速查询。

dependencyManagement:
用于父项目配置共同的依赖关系,主要配置依赖包相同因素,如版本,scope。

合成(或者多个模块)
一个项目有多个模块,也叫做多重模块,或者合成项目。
如下的定义:

<project>  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>org.gene.demo</groupId>  
  <artifactId>my-parent</artifactId>  
  <version>2.0</version>  
  <modules>  
    <module>my-project1</module>  
    <module>my-project2</module>  
  </modules>  
</project>

5.解决方案

由于,build中插件无法自动加载,在依赖中添加对应依赖更新后即可成功加载。

<dependencies>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>

到此这篇关于maven-assembly-plugin报红无法加载报错:Plugin ‘maven-assembly-plugin:‘ not found的文章就介绍到这了,更多相关maven-assembly-plugin报红内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring详细讲解事务失效的场景

    Spring详细讲解事务失效的场景

    实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事务机制,好多小伙伴可能只是简单了解一下,遇到事务失效的情况,便会无从下手,下面这篇文章主要给大家介绍了关于Spring事务失效场景的相关资料,需要的朋友可以参考下
    2022-07-07
  • 浅谈JAVA 内存流的实现

    浅谈JAVA 内存流的实现

    这篇文章主要介绍了浅谈JAVA 内存流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • java正则表达式匹配所有数字的案例

    java正则表达式匹配所有数字的案例

    这篇文章主要介绍了java正则表达式匹配所有数字的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • MyBatis中的properties配置(推荐)

    MyBatis中的properties配置(推荐)

    这篇文章给大家介绍了MyBatis中的properties配置,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-12-12
  • maven下mybatis-plus和pagehelp冲突问题的解决方法

    maven下mybatis-plus和pagehelp冲突问题的解决方法

    这篇文章主要介绍了maven下mybatis-plus和pagehelp冲突的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • java如何判断一个数是否是素数(质数)

    java如何判断一个数是否是素数(质数)

    这篇文章主要介绍了java如何判断一个数是否是素数(质数),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 理解 Java 核心基础精髓解析

    理解 Java 核心基础精髓解析

    这篇文章主要介绍了解 Java 核心基础精髓解析问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-03-03
  • 详解SpringBoot开发使用@ImportResource注解影响拦截器

    详解SpringBoot开发使用@ImportResource注解影响拦截器

    这篇文章主要介绍了详解SpringBoot开发使用@ImportResource注解影响拦截器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • SpringBoot四大神器之Actuator的使用小结

    SpringBoot四大神器之Actuator的使用小结

    这篇文章主要介绍了SpringBoot四大神器之Actuator的使用小结,详细的介绍了Actuator的使用和端点的使用,有兴趣的可以了解一下
    2017-11-11
  • 一文带你搞懂Java类加载机制

    一文带你搞懂Java类加载机制

    Java 类加载机制是 Java 运行时的核心组成部分,负责在程序运行过程中动态加载和连接类文件,并将其转换为可执行代码,接下来小编就来带大家搞懂面试官老问的 Java 类加载机制,需要的朋友可以参考下
    2023-08-08

最新评论