精华内容
下载资源
问答
  • 发现自己的IDEA下载maven插件的依赖太慢了 几MB的文件都要下载好久[face]monkey:25.gif[/face] 解决办法很简单 直接上图不废话 然后把settings.xml改成下图就好啦![face]monkey:13.gif[/face] 最后直接上代码 <...

    发现自己的IDEA下载maven插件的依赖太慢了
    几MB的文件都要下载好久[face]monkey:25.gif[/face] 解决办法很简单

    直接上图不废话在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    然后把settings.xml改成下图就好啦![face]monkey:13.gif[/face]
    在这里插入图片描述
    最后直接上代码

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <mirrors>
            <!-- mirror
             | Specifies a repository mirror site to use instead of a given repository. The repository that
             | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
             | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
             |
            <mirror>
              <id>mirrorId</id>
              <mirrorOf>repositoryId</mirrorOf>
              <name>Human Readable Name for this Mirror.</name>
              <url>http://my.repository.com/repo/path</url>
            </mirror>
             -->
    
            <mirror>
                <id>alimaven</id>
                <name>aliyun maven</name>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
    
            <mirror>
                <id>uk</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://uk.maven.org/maven2/</url>
            </mirror>
    
            <mirror>
                <id>CN</id>
                <name>OSChina Central</name>
                <url>http://maven.oschina.net/content/groups/public/</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
    
            <mirror>
                <id>nexus</id>
                <name>internal nexus repository</name>
                <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
                <url>http://repo.maven.apache.org/maven2</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
    
        </mirrors>
    </settings>
    展开全文
  • IDEA Maven Helper插件

    2018-05-09 10:20:06
    IDEA在线安装Maven Helper插件有时候会很慢,上传上来供大家下载,这个是从官网下载
  • Idea开发maven插件

    千次阅读 2019-04-08 18:18:49
    文章目录场景描述插件功能插件开发第一步:创建插件项目第二步:插件实现2.1 声明mojo类(插件)2.2 添加参数2.3 execut方法实现自定义插件功能2.4插件使用 场景描述 最近博主开发了一个用于接收数据的接口服务器,...

    场景描述

    最近博主开发了一个用于接收数据的接口服务器,一开始数据是外部购买的,数据源只有一个地方,但是随着业务的拓展,公司不打算全部数据都从外部购买,而是将其中一部分数据交给公司爬虫部门来爬取,这样数据源变成了两处。但是博主的接口服务器还有一个监控模块,主要是用来实时展示数据进来的详情,正是由于监控模块的存在,对应不同的数据源博主还得改源码来满足不同的需求,这样一来就很坑了,如果每次新增个数据源我都要做个自定义的那得多麻烦,于是乎博主在分析整个架构后,将代码做了重构,最后重构的情况就是生成一个常量类,每次争对不同的数据源,将常量类里面对应的常量注释掉即可。这下操作起来就方便多了,每次来个新的数据源,博主只需要新增常量并将其它的常量注释掉即可。由于前面都是开发阶段,博主想怎么整都可以,但是后面进入了流程化阶段了,项目需要交给配置管理组管理,打包发布什么的都是由配置管理组来负责,但是前面博主说了,对不同数据源博主需要注释常量类里面的一些字段来打包,但是项目交给配管组后,配管组是没权限该代码了,这就很尴尬了,博主的小聪明在这里就行不通了。于是乎,博主又开始耍小聪明了,能不能让配置组打包的时候加个参数什么的来实现对常量类的修改,博主找遍了整个互联网都没找到这样的插件(或者说操作简单,兼容性好的插件),所以博主打算自己开发一个maven插件。

    插件功能

    通过mvn指令传递参数来实现打包前修改项目源码。

    插件开发

    第一步:创建插件项目

    IDEA新建一个maven项目,注意选择maven-archetype-mojo这个模板
    在这里插入图片描述

    第二步:插件实现

    没错,就是这么简单,只要两步,因为你在选择好模板创建项目后,idea已经自动加入了一些依赖,并生成一个mojo类,该类继承自AbstractMojo。该类里面有一个execute方法,execute是程序的主入口。

    2.1 声明mojo类(插件)

    有两种方式声明一个类是mojo类,一种是通过文档注解的方式,如下所示:

    /**
    * @goal ChangeConstant
    */
    

    另外一种是通过添加@Mojo(name = “ChangeConstant”)注解的方式来声明,注解方式需要加依赖:

        <dependency>
          <groupId>org.apache.maven.plugin-tools</groupId>
          <artifactId>maven-plugin-annotations</artifactId>
          <version>3.4</version>
        </dependency>
    

    goal的作用后面会说明

    2.2 添加参数

    在使用maven插件的时候,有时需要传递一些参数,参数功能可以通过文档注释或者注解来声明。比如我要传递一个文件路径的参数,这里使用注解来声明:

    @Parameter( property = "ChangeConstant.filePath", defaultValue = "filePath default" )
     private String filePath;
    

    2.3 execut方法实现自定义插件功能

    这里博主希望在打包前对常量类做修改,常量类如下,如果是内部源,则将对外监控那四个常量注释掉,如果是对外监控,则将内部监控那四个常量注释掉。

        //对外监控
    //    public static final String logrecord = "logrecord";
    //    public static final String usrbyzqsjyb = "usrbyzqsjyb";
    //    public static final String usrbyzxsltj = "usrbyzxsltj";
    //    public static final String usrbyzxxq = "usrbyzxxq";
    
    
        //内部监控
        public static final String logrecord = "logrecord_inner";
        public static final String usrbyzqsjyb = "usrbyzqsjyb_inner";
        public static final String usrbyzxsltj = "usrbyzxsltj_inner";
        public static final String usrbyzxxq = "usrbyzxxq_inner";
    

    修改文件就不详叙了,大体思路就是读进来->修改->写入。下面是博主的插件类源码:

    package com.riclee;
    
    import org.apache.maven.plugin.AbstractMojo;
    import org.apache.maven.plugin.MojoExecutionException;
    import org.apache.maven.plugins.annotations.Mojo;
    import org.apache.maven.plugins.annotations.Parameter;
    import org.apache.maven.project.MavenProject;
    
    import java.io.*;
    
    /**
     * author: lichao
     * date: 2019/04/08
     */
    @Mojo(name = "ChangeConstant")
    public class ChangeConstantMojo extends AbstractMojo
    {
        @Parameter( property = "ChangeConstant.project", defaultValue = "${project}" )
        private MavenProject project;
    
    
        @Parameter( property = "ChangeConstant.filePath", defaultValue = "filePath default" )
        private String filePath;
    
    
        @Parameter( property = "ChangeConstant.type", defaultValue = "bydata" )
        private String type;
    
        public void execute()
            throws MojoExecutionException
        {
            filePath = project.getBasedir() + filePath;
            //根据操作系统类型,修改目录分隔符
            if(File.separator.equals("/")){
                filePath = filePath.replaceAll("\\\\","/");
            }else if(File.separator.equals("\\")){
                filePath = filePath.replaceAll("[/]","\\\\");
            }
            getLog().info("filePath = " + filePath);
            if(type.equals("bydata")){
                getLog().info("type = " + type + ", 对外接口服务" );
            }else if(type.equals("innerdata")){
                getLog().info("type = " + type + ", 内部采集接口服务" );
            }
            try{
                FileReader fr = new FileReader(filePath);
                BufferedReader bfr = new BufferedReader(fr);
                String line = null;
                StringBuffer newContent = new StringBuffer();
                while((line = bfr.readLine())!=null){
                    if(type.equals("bydata")){
                        if(line.contains("logrecord")){
                            lineChange(line,newContent);
                        }else if(line.contains("usrbyzqsjyb")){
                            lineChange(line,newContent);
                        }else if(line.contains("usrbyzxsltj")){
                            lineChange(line,newContent);
                        }else if(line.contains("usrbyzxxq")){
                            lineChange(line,newContent);
                        }else{
                            newContent.append(line + System.lineSeparator());
                        }
                    }
    
                    if(type.equals("innerdata")){
                        if(line.contains("logrecord")){
                            lineChange2(line,newContent);
                        }else if(line.contains("usrbyzqsjyb")){
                            lineChange2(line,newContent);
                        }else if(line.contains("usrbyzxsltj")){
                            lineChange2(line,newContent);
                        }else if(line.contains("usrbyzxxq")){
                            lineChange2(line,newContent);
                        }else{
                            newContent.append(line + System.lineSeparator());
                        }
                    }
                }
                fr.close();
                bfr.close();
    
                BufferedWriter bfw = new BufferedWriter(new FileWriter(filePath));
                bfw.write(newContent.toString());
                bfw.close();
            }catch (IOException e){
                e.printStackTrace();
            }
    
        }
    
        public void lineChange(String line,StringBuffer sb){
            if(line.contains("inner")){
                if(!line.contains("//")){
                    sb.append("//" + line + System.lineSeparator());
                }else{
                    sb.append(line + System.lineSeparator());
                }
            }else{
                sb.append(line.replaceAll("//","") + System.lineSeparator());
            }
        }
    
    
        public void lineChange2(String line,StringBuffer sb){
            if(line.contains("inner")){
                sb.append(line.replaceAll("//","") + System.lineSeparator());
            }else{
                if(!line.contains("//")){
                    sb.append("//" + line + System.lineSeparator());
                }else{
                    sb.append(line + System.lineSeparator());
                }
            }
        }
    }
    
    

    Pom依赖

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.riclee</groupId>
      <artifactId>change-constant-maven-plugin</artifactId>
      <packaging>maven-plugin</packaging>
      <version>1.0.0</version>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <name>change-constant-maven-plugin Maven Mojo</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-plugin-api</artifactId>
          <version>2.0</version>
        </dependency>
        <dependency>
          <groupId>org.apache.maven.plugin-tools</groupId>
          <artifactId>maven-plugin-annotations</artifactId>
          <version>3.4</version>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-project</artifactId>
          <version>2.2.1</version>
        </dependency>
      </dependencies>
    </project>
    
    

    2.4插件使用

    插件开发好后install一下,提交到仓库中,根据你所配置的坐标地址,在项目中引用

    		<plugins>
    			<plugin>
    				<groupId>com.gildata</groupId>
    				<artifactId>change-constant-maven-plugin</artifactId>
    				<version>1.0.1</version>
    				<executions>
    					<execution>
    						<id>ChangeConstant</id>
    						<phase>pre-clean</phase>
    						<goals>
    							<goal>ChangeConstant</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    		</plugins>
    

    其中phase是指定你要在哪个生命周期使用插件,goal就是@mojo注解中的值。
    前面在开发插件的时候添加过一些参数,这些参数也可以在pom文件中指定默认值。

    		<properties>
    			<spring.profiles.active>dev</spring.profiles.active>
    			<ChangeConstant.filePath>\src\main\java\com\gildata\byinterserver\constant\Constant.java</ChangeConstant.filePath>
    			<ChangeConstant.type>bydata</ChangeConstant.type>
    		</properties>
    

    在打包的时候可以动态指定参数的值来覆盖默认值

    mvn -DChangeConstant.type=innerdata clean package
    

    以上只是博主的抛砖引玉,maven插件更详细的使用可以参考文档:
    https://maven.apache.org/guides/introduction/introduction-to-plugins.html

    展开全文
  • IDEA集成MAVEN插件

    万次阅读 2019-05-31 22:52:36
    IDEA集成MAVEN插件 1. 使用cmd命令窗口,输入mvn - v ,查看是否已经安装好maven。 这个之前有安装教程。 2. 打开IDEA,进入主界面后点击 configure 然后点击 settings 3. 在上面的快捷查找框中输入maven,查找与...

    IDEA集成MAVEN插件

    1. 使用cmd命令窗口,输入mvn - v ,查看是否已经安装好maven。

    这个之前有安装教程。

    2. 打开IDEA,进入主界面后点击 configure 然后点击 settings

    IDEA集成maven仓库

    3. 在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点击maven,再点击右边的设置,找到与maven安装路径。

    IDEA集成maven仓库01

    4. 找到之前解压的位置,选择如图的路径。

    注意:我去找位置的时候没有显示之前解压的文件夹,可以点击上面的刷新,刷新一下。

    IDEA集成maven仓库02

    5. 修改settings文件的位置和本地仓库的位置。

    图片见第三步。

    注意如果点击不懂,是因为没有勾选后面的Override。

    当修改好了settings路径后,本地仓库位置会变成settings里设置的位置。

    最终样式:

    IDEA集成maven仓库03

    6. 推荐配置:设置maven在不联网的情况下使用本地插件

    一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网路的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。

    输入内容:-DarchetypeCatalog=internal

    IDEA集成maven仓库04

    7. 点击OK。

    展开全文
  • IDEA自带Maven plugin插件和自己下载Maven

    项目场景:

    项目:ehr


    问题描述:

    	<!--FastDFS依赖-->
    		<dependency>
    			<groupId>org.csource</groupId>
    			<artifactId>fastdfs-client-java</artifactId>
    			<version>1.29-SNAPSHOT</version>
    		</dependency>
    	Cannot resolve org.csource:fastdfs-client-java:1.29-RELEASE
    

    发生了如下报错:

    	Cannot resolve org.csource:fastdfs-client-java:1.29-RELEASE
    

    原因分析:

    IDEA自己集成了很多插件,其中就包括了Maven,本人的Maven插件目录D:\App Files (x86)\IDEA2107\JetBrains\IntelliJ IDEA 2021.2\plugins\maven\lib\maven3, 但是我自己又下载了一个Maven工具,在环境变量配置的时候配置成自己下载的了。意思是我需要的这个依赖不在maven仓库中,需要自己手动在cmd中mvn clean install。但是这个项目在创建的时候我使用的是IDEA集成的Maven plugin插件.

    解决方案:

    那么这个时候我们需要把环境变量配置成集成的JetBrains\IntelliJ IDEA 2021.2\plugins\maven\lib\maven3,不能使用自己安装的maven变量配置,否则在建立依赖包的时候,无法真正把建立的包加入到集成的maven仓库中。
    展开全文
  • idea搭建,出了环境问题 maven问题汇总 1、可能是setting中的maven仓库没配置对路径 2、可能是setting中的阿里云没配置好,或者是私服没配置好,因为可能没有网络导致clean不了,下载不下来jar包,远程桌面要配置...
  • 用于构建intellij / IDEA插件的自定义Maven打包 例如,请参阅集成模块中的pom.xml。
  • 今天小编就为大家分享一篇关于Idea配置maven-tomcat-plugin插件实现项目部署,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • idea 配置maven插件

    2020-07-01 00:10:43
    idea集成maven插件前提是您电脑上已经安装配置好maven 如何查看,安装及配置maven可以查看我之前文章: https://blog.csdn.net/jasdolphin/article/details/107052628 1,打开IDEA -->打开setting 2.然后...
  • idea创建maven项目 maven插件下载不下来 问题解决方案 1.重新换个maven 把镜像换成多个 我的是换成3.8.1版本 2.配置maven环境配置 3.配置idea设置 选择勾上或不勾上进行测试 重新涮新maven
  • 主要介绍了Maven Helper插件IDEA配置使用(详细配置),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • IDEAMaven插件介绍

    千次阅读 2020-03-08 08:31:38
    Maven依赖查看 二查看Maven依赖的导航树 Ctrl+Alt+Shift+U 三 Maven依赖冲突解决 1构造依赖冲突 下面两个依赖都会直接或间接的依赖logback-classic 2查看依赖冲突 2.1通过依赖导航树找到logback-...
  • maven helper idea 插件

    2018-07-31 09:53:01
    maven jar 包管理插件 很好用maven jar 包管理插件 很好用maven jar 包管理插件 很好用maven jar 包管理插件 很好用maven jar 包管理插件 很好用
  • IntelliJ IDEA配置自带的maven插件解决org.apache.shiro报红一: idea配置plugins下载插件二:配置idea的maven路径三:配置setting.xml的镜像路径 一: idea配置plugins下载插件 1.我使用的是idea自带的maven插件,...
  • 1.打开IDEA的File--->settings--->搜索mavaen--->找到settings.xml 2.在settings.xml中添加 <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> ...
  • idea开发maven插件调试

    千次阅读 2019-08-06 20:02:13
    maven插件坐标 <groupId>cn.sning</groupId> <artifactId>mavenplugindemo</artifactId> <version>2.0-SNAPSHOT</version> 项目引用maven插件配置 <plugin> <...
  • IntelliJ IdeaMaven插件使用技巧 标签:Idea Maven IntelliJ IdeaMaven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。
  • IntelliJ IDEA 集成Maven插件 一、Maven配置 1.下载Maven并解压到本地目录下 下载链接: Maven 3.6.0 2.配置Maven环境变量 在【系统变量】中新建 变量名 MAVEN_HOME 变量值 C:\Program Files\JetBrains\...
  • ideamaven插件的编写调试

    千次阅读 2019-05-04 16:31:24
    编写maven插件 需要引入如图所示的三个maven插件 然后编写入口类继承AbstractMojo,相当于main函数,使用注解@Mojo定义生命周期和插件执行名称。...远程调试maven插件idea) 当我们想调试maven插件的时...
  • <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </
  • maven里3个路径设置成一样的, 下图是开始的情况, 其中settings文件居然都没有. 看了这篇文档:https://blog.csdn.net/ThinkWon/article/details/101312918 使用第四步,把三个路径设置成一致的后, 增加sett...
  • 使用IDEAMaven插件打包项目

    千次阅读 2020-04-07 22:46:16
    使用Maven打包项目Maven换源右边栏没有MavenMaven的使用pom.xml插件爆红格式问题war包插件打包过程JAVA版本问题 Maven换源 别说话,先换源。 先到设置里面查看具体的配置文件目录。 打开该目录下的settings.xml,...
  • idea中配置maven插件

    千次阅读 2020-08-12 21:03:39
    网上有部分配置maven插件的博客,只是指定了maven的下载资源路径;并没有给idea指定到底是使用其自身的maven插件,还是使用我们自己配置的maven插件。如果在前期不在idea中设置好,在后期使用时我们可能出现各种各样...
  • IntelliJ IDEA添加MAVEN插件

    千次阅读 2018-04-30 11:23:00
    ☆特别注意,在配置的时候一定要选择Default Settings要不然每次新建其他工程都会默认使用IDEA自带的MAVEN 修改MAVEN安装路径下conf文件中的settion.xml文件1.设置默认仓库地址(我这里设置的是本地D:\JAVATools\.....
  • IntelliJ IdeaMaven插件使用技巧 标签:Idea Maven IntelliJ IdeaMaven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。 1、Idea下在右侧菜单可打开Maven操作面板,以及...
  • IDEA添加MAVEN插件

    万次阅读 2017-10-25 19:53:38
    ☆特别注意,在配置的时候一定要选择 Default Settings要不然每次新建其他工程都会默认使用IDEA自带的MAVEN修改MAVEN的setting.xml文件 1.设置默认仓库地址(我这里设置的是本地D:\JAVATools\MvnRepo) 2.设置
  • 一张图搞定(2020版)IDEA中集成Maven插件【图文】详细

    千次阅读 多人点赞 2020-07-08 17:10:19
    为了让这篇文章只是出现IDEA集成Maven插件,我就把创建本地仓库的做法放到了这篇文章了。 如果你前面两步都是之前OK的,请看以下集成步骤: 3、一张图解决集成插件配置 3.1.打开Idea进行路径配置 3.2.我在添加路径...
  • Java+IDEA+Maven混淆打包

    2019-07-15 15:33:10
    IDEA中使用maven打jar包,然后使用工具混淆代码,亲测有效
  • 为啥我的IDEA Maven依赖下载总是失败?? 我们本地使用 IDEA 运行 maven 项目的时候,有时候运气不好,就会遇到某些 maven 依赖无法正常找到、导入。这就会导致 IDEA 构建项目的时候爆出一堆醒目的红色 Error。 正好...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,094
精华内容 20,837
关键字:

idea下载maven插件

友情链接: moban1.rar