精华内容
下载资源
问答
  • 开发自定义项目(框架)过程中,经常将项目本身作为依赖引入其他工程,如引入过程中出现无法识别情况,使用:mvn clean install进行安装; 将spring-framework-custom作为依赖引入spring_custom,非父pom管理; ...

    描述:

           开发自定义项目(框架)过程中,经常将项目本身作为依赖引入其他工程,如引入过程中出现无法识别情况,使用:mvn clean install进行安装;

    将spring-framework-custom作为依赖引入spring_custom,非父pom管理;

    展开全文
  • IDEA添加maven自定义依赖

    千次阅读 2018-06-19 11:27:37
    鼠标移动到<version>,按ctrl,出现本地仓库地址。IDEA->File->Settings 搜索maven 把.xml文件放入到 User settings file 路径下。 

    鼠标移动到<version>,按ctrl,出现本地仓库地址。


    IDEA->File->Settings   搜索maven   


    把.xml文件放入到  User settings file 路径下。 



    展开全文
  • 结果是没有导入依赖   <groupId>com.bos</groupId> <artifactId>bos-domain <version>0.0.1-SNAPSHOT 主要是视频中没有这个环节,因为以往太过依赖老师,从而以为是软件的问题,导致没从...

     

    网上搜了半天,对比之前练习的maven项目,结果是没有导入依赖

     

    <dependencies>
      	<dependency>
      		<groupId>com.bos</groupId>
      		<artifactId>bos-domain</artifactId>
      		<version>0.0.1-SNAPSHOT</version>
      	</dependency>
      </dependencies>

    主要是视频中没有这个环节,因为以往太过依赖老师,从而以为是软件的问题,导致没从自身找问题

     

    在此为自己做个提醒,下次项目出错先从自身找原因一步一步理清步骤

    展开全文
  • maven自定义插件

    2020-07-15 19:19:00
    Maven 是一个系统管理框架或体系,专注管理构建的生命周期和各个阶段。真正工作的是绑定到各个阶段的 Maven 插件。每个插件具有一个或一个以上的目标,可以将这些插件的目标绑定到 Maven 生命周期的各个阶段中,或...

      Maven 是一个系统管理框架或体系,专注管理构建的生命周期和各个阶段。真正工作的是绑定到各个阶段的 Maven 插件。每个插件具有一个或一个以上的目标,可以将这些插件的目标绑定到 Maven 生命周期的各个阶段中,或直接从命令行运行这些插件的目标。用户可以从 Apache 和其他的参考 Maven 中心仓库获取。当然,这些插件基本上能满足大部分程序员的需求,但是在特殊情况下,可能我们自己有特殊的需求,就要求我们自己去实现一个定制的插件;其实编写插件也并不是很难很复杂的事情,接下来我们开始研究一下,怎么样编写看似高深的、能绑定到 Maven 生命周期的阶段中自动被调用执行的 Maven 插件。

      为了方便大家对编写 Maven 插件的方向和过程有个总体的了解,先介绍一下编写 Maven 插件的基本步骤。

    • 创建 Maven 项目。插件的功能肯定需要编写 Java 类的,所以插件本身就是一个 Maven 项目。当然,相对于以前研究的 Maven 项目,插件项目有它的特殊点:packaging 必须是 maven-plugin 类型,可以通过 maven-archetype-plugin 快速创建一个 Maven 插件项目。
    • 编写插件目标。每个插件都至少包含一个目标,每个目标对应一个独立的 Java 类。这里把这种类叫 Mojo 类(对象)。Mojo 类必须继承 AbstractMojo 父类。
    • 设置目标的配置点。大部分 Maven 件和它的目标都是可以配置的。根据需要,可以在编写 Mojo 的时候给它设置好可以配置的参数。
    • 编写逻辑代码,实现目标功能。用 Java 代码实现插件的功能。
    • 处理错误和日志。当 Mojo 运行的时候发生异常时,需要根据情况控制 Maven 的运行状况,并且用代码实现必要的日志输出,为用户提供必要的提示信息。
    • 测试插件。编写测试案例,绑定(或命令行)执行插件。

    自定义插件实现:

      自定义Mojo需要继承 AbstractMojo 这个抽象类,并实现了 execute() 方法,该方法就是用来定义这个 Mojo 具体操作内容,我们只需要根据自己的需要来编写自己的实现即可。那么Maven 如何知道这是一个 Mojo 而不是一个普通的 Java 类呢? Mojo 的查找机制:在处理源码的时候,plugin-tools 会把使用了 @Mojo 注解或 Javadoc 里包含 @goal 注释的类来当作一个 Mojo 类。我们这里使用 @Mojo 注解来进行声明。

    1.导入依赖:

    <?xml version="1.0" encoding="UTF-8"?>
    <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/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.wuzz.demo</groupId>
        <artifactId>wuzz-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <!--打包方式-->
        <packaging>maven-plugin</packaging>
        <dependencies>
            <!--使用doc的方式-->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>3.5.2</version>
            </dependency>
            <dependency><!--使用注解的方式-->
                <groupId>org.apache.maven.plugin-tools</groupId>
                <artifactId>maven-plugin-annotations</artifactId>
                <version>3.5.2</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>3.5.2</version>
                    <!-- 插件执行命令前缀 -->
                    <configuration>
                        <goalPrefix>wuzz</goalPrefix>
                        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <!-- 编码和编译和JDK版本 -->
                <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>
    </project>

    2.Mojo实现类:

    import org.apache.maven.plugin.AbstractMojo;
    import org.apache.maven.plugin.MojoExecutionException;
    import org.apache.maven.plugin.MojoFailureException;
    import org.apache.maven.plugins.annotations.LifecyclePhase;
    import org.apache.maven.plugins.annotations.Mojo;
    import org.apache.maven.plugins.annotations.Parameter;
    
    /**
     * @description: 类功能描述
     * @author: wuzhenzhao
     * @time 2020/7/15 14:45
     * @since 1.0
     **/
    // mojo注解就是maven插件的注解
    // 后面配置的是生命周期,我这里配置了PACKAGE,即默认是打包时候执行本插件(这个可以在pom文件指定)
    @Mojo(name = "wuzzMojo", defaultPhase = LifecyclePhase.PACKAGE)
    public class WuzzMojo extends AbstractMojo {
        // 配置的是本maven插件的配置,在pom使用configration标签进行配置 property就是名字,
        // 在配置里面的标签名字。在调用该插件的时候会看到
        @Parameter(property = "application")
        private String application;
    
        @Parameter(property = "sourceFolderPath")
        private String sourceFolderPath;
    
        @Override
        public void execute() throws MojoExecutionException, MojoFailureException {
            System.out.println(
                    String.format("Hello World WuzzMojo: 应用名称: %s | 当前应用根目录: %s",
                            application,
                            sourceFolderPath)
            );
        }
    }

    3. 执行 mvn  install 。成功即可在maven仓库下看到该jar

    4.创建一个新的 maven 工程,依赖如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <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/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.wuzz.demo</groupId>
        <artifactId>maven-plugin-test</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <build>
            <plugins>
                <plugin>
                    <!--引入刚刚的插件依赖-->
                    <groupId>com.wuzz.demo</groupId>
                    <artifactId>wuzz-maven-plugin</artifactId>
                    <version>1.0-SNAPSHOT</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>wuzzMojo</goal>
                            </goals>
                            <phase>package</phase>
                        </execution>
                    </executions>
                    <!-- 这里加入的是相关参数,这些参数必须跟插件实现里面的属性保持一致 -->
                    <configuration>
                        <application>api</application><!-- 当前应用名称 -->
                        <sourceFolderPath>${basedir}</sourceFolderPath><!-- 当前应用根目录 -->
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>

      打开Maven 界面可以看到 :

      双击 wuzzMojo :

       也可以执行  mvn  package 也会执行自定义插件的方法。这里是以pom文件里 phase 定义的值决定,我这里定义成 package,所以只有在打包的时候才会执行。这样就完成了一个简单的  maven 自定义插件

     Mojo 参数:

    /**
     * This annotation will mark your class as a Mojo (ie. goal in a Maven plugin).
     *
     * @author Olivier Lamy
     * @since 3.0
     */
    @Documented
    @Retention( RetentionPolicy.CLASS )
    @Target( ElementType.TYPE )
    @Inherited
    public @interface Mojo
    {
        /**
         * goal name (required).唯一必须声明的标注,当用户命令行调用或在pom中配置插件是,需使用该目标名称
         * @return the goal name
         */
        String name();
    
        /**默认将该目标绑定至default声明周期的某个阶段,这样在配置使用插件目标时,就无需声明phase,如maven-surefire-plugin的test目标带有@phase tes标注
         * default phase to bind your mojo.
         * @return the default phase
         */
        LifecyclePhase defaultPhase() default LifecyclePhase.NONE;
    
        /**在运行mojo之前必须解析所有指定范围的依赖,如maven-surefire-plugin的test目标带有requiresDependencyResolution test标注,表示执行测试前,所有测试范围的依赖必须得到解析
         * the required dependency resolution scope.
         * @return the required dependency resolution scope
         */
        ResolutionScope requiresDependencyResolution() default ResolutionScope.NONE;
    
        /**
         * the required dependency collection scope.
         * @return the required dependency collection scope 
         */
        ResolutionScope requiresDependencyCollection() default ResolutionScope.NONE;
    
        /**
         * your Mojo instantiation strategy. (Only <code>per-lookup</code> and <code>singleton</code> are supported)
         * @return the instantiation strategy
         */
        InstantiationStrategy instantiationStrategy() default InstantiationStrategy.PER_LOOKUP;
    
        /**
         * execution strategy: <code>once-per-session</code> or <code>always</code>.
         * @return <code>once-per-session</code> or <code>always</code>
         */
        String executionStrategy() default "once-per-session";
    
        /**该目标是否必须在一个maven项目中运行(如测试插件用于测试其他项目),默认为true。大部分插件目标需依赖一个项目才能运行,但是,maven-help-plugin的system目标例外,它用来显示系统属性和环境变量信息,无需实际项目。
         * does your mojo requires a project to be executed?
         * @return requires a project
         */
        boolean requiresProject() default true;
    
        /**是否要求项目报告已经生成,默认为false
         * does your mojo requires a reporting context to be executed?
         * @return requires a reporting context
         */
        boolean requiresReports() default false;
    
        /**当mojo在多模块项目上运行时,该标注表示目标只会在顶层模块运行。
         * if the Mojo uses the Maven project and its child modules.
         * @return uses the Maven project and its child modules
         */
        boolean aggregator() default false;
    
        /**为true时,该目标就只能通过命令行直接调用。默认为false
         * can this Mojo be invoked directly only?
         * @return invoked directly only
         */
        boolean requiresDirectInvocation() default false;
    
        /**是否要求maven必须是在线状态,默认值为false
         * does this Mojo need to be online to be executed?
         * @return need to be online
         */
        boolean requiresOnline() default false;
    
        boolean inheritByDefault() default true;
    
        /**
         * own configurator class.
         * @return own configurator class
         */
        String configurator() default "";
    
        /**
         * is your mojo thread safe (since Maven 3.x)?
         * @return is thread safe
         */
        boolean threadSafe() default false;
    }

     

    展开全文
  • 一般情况下,使用如下命令即可将自定义构件安装到本地仓库,供...如果单独安装某一个自定义构件,而不安装父POM所属的构件,其他项目是无法使用该自定义构件的依赖的。 也就是说,安装子构件时,父构件一定要安装...
  • 今天在构建一个新的maven项目时,自己引入了一个自定义的jar包,但是有一个很奇怪的现象就是,这个自定义的jar包确实引入了,但是每次在tomcat启动时,总是报无法找到目标文件的错误。后来发现eclipse 项目的maven ...
  • 如何在IDEA中的Maven项目中 添加第三方的Jar依赖,其实很简单,请看图: 1.先打开项目中的pom.xml文件,并使用快捷键 Alt+Insert : 2.选择 Depenency 后,并输入要添加的Jar包的相关包名或者类名检索: 3.选择搜索...
  • 今天搞了个项目,maven依赖发现导不进去,上网一搜根本收不到这个依赖,所以有的依赖是个人公司编写的,这就需要本地导入 找到jar包位置 自定义包名 jar的名称 命令行间注意空格 在pom.xml安装插件 <...
  • Maven项目如何引入自定义的jar包,亲测有效 一、方式一:将自定义的jar添加到项目下 使用IDEA在项目的resourse文件夹下创建存放jar的文件夹,图中以lib文件夹为例 找到要引入的jar,将其复制到项目所在的目录的lib...
  • 查看自己是否装有maven 如果有就执行以下命令 mvn install:install-file -Dfile=D:\jarpackage\DSMJavaApi_C05SPC692_1.6_30s.jar -DgroupId=com.dsp -DartifactId=DSMJavaApi -Dversion=1.0 -Dpackaging=jar ...
  • 解决idea maven工程无法导入依赖

    千次阅读 2020-02-28 17:28:37
    添加依赖出现以下问题 1.Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5 2.Could not transfer artifact org.apache.maven.plugins:maven-install-plugin:pom:2.4 from/to central ...
  • maven 自定义插件开发及使用

    千次阅读 2019-05-18 06:55:22
    本文采用maven自定义插件实现了解决html引入css、js缓存的问题。问题解决思路为扫描路径下的html文件,并将html文件中引入的css、js路径后缀加入版本号的方案。如将...
  • 博主的2020.1版本IDEA环境是已经配置好了Maven本地仓库,而且用了阿里云镜像的。建议先完成以上两步再来搭建springboot项目。配置阿里云源镜像文件可以参考我的另一篇文章:...
  • maven仓库导入依赖失败原因-idea

    千次阅读 2019-06-18 14:56:48
    1:在idea中pom文件导入依赖失败,在仓库中删除jar包重新下载后还是失败 2:settings.xml配置文件中也指定了仓库位置 idea还是报错就证明依赖包下了但是并没有导入到项目中 我的idea中关于maven的配置文件及...
  • maven引入自定义jar

    千次阅读 2018-02-20 16:53:36
    最近在开发程序的时候需要使用到beautyeye工程,但是maven仓库中没有该工程的JAR包,又因为软件开发的时候使用了maven来管理依赖包。因此为了对所有依赖包进行统一管理,需要将beautyeye依赖加入到本地仓库中。 一...
  • 在使用 maven 项目的时候,我们会引入很多的第三方 jar 包,其中有一些不在我们自己的私服或者中央仓库 中,比如我们本地的 jar 包 解决方式 第一步,在项目结构中新建一个存放本地 jar 包的文件夹,将本地 jar 包...
  • 最近和同事搞一个封装自定义校验工具类,打成jar包。在springboot+maven项目...后面通过阅览大佬们的博客加自己的思考,总结:当springboot+maven项目导入自定义的jar包到本地仓库时,jar包不能通过普通java项目通过...
  • Maven引用自定义jar包

    千次阅读 2018-03-08 10:03:51
    概述在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢? 如果引入不好,启动项目时会报: java.lang.ClassNotFoundException异常 导入jar在项目src目录同级的目录下,新建lib目录,然后把...
  • 环境:win10,由于要出差,并根据客户的要求修改调整代码,所以我把项目部署到我的笔记本上,我把自定义maven仓库拷贝到我笔记本的maven仓库下,结果不管如何更新都显示找不到对应的jar,并报错。 解决办法,...
  • maven增加自定义jar包

    2016-10-19 17:01:00
    1.博客来源: ... 导入平台SDK的方法 mvn install:install-file -DgroupId=com.pingtai.sdk -DartifactId=top-sdk -Dversion=2016.10.09.1 -Dpackaging=jar -Dfile=...
  • Maven安装与依赖导入

    千次阅读 2019-08-28 17:48:47
    这里写自定义目录标题Maven下载配置环境变量安装测试Maven中的pom.xmlMaven运作方式Maven导入自定义包方法 Maven下载 Maven的下载地址有很多,个人还是比较推荐官方下载地址: ... 选择合适的版本,解压到自定义...
  • mvn install:install-file -Dfile=D:\java\lib\Spire.Xls.jar -DgroupId=e-iceblue -DartifactId=spire.custom -Dversion=1.0 -Dpackaging=jar
  • maven项目中添加自定义的jar包方法

    千次阅读 2019-07-12 15:15:16
    做的maven项目里需要用到一个自定义的jar包,不能像通用的配置依赖直接下载,需要先进行以下的操作将jar放到maven仓库中: 找到maven安装bin目录,进入后shift加右键打开cmd,输入 mvn install:install-file -Dfile=e:\...
  • 整个项目的pom文件有添加对这两个自定义的包的依赖,但是我在idea上面运行的时候,jar包的pom文件里面的依赖并没有自动添加到项目中,我想问一下这种问题怎么解决,(我最后是将两个jar包里面的依赖去全部复制到项目...
  • Maven向本地仓库导入依赖

    千次阅读 2014-12-05 13:47:25
    刚使用maven不久,准备将现在的普通Eclipse项目改成Maven项目,在编写pom.xml文件的时候,发现依赖这部分有几个jar包,官方的仓库中没有,需要自己安装。下面记录一下安装的步骤。 1.导入SqlServer JDBC Jar包 mvn...
  • IntelliJ IDEA 删除自定义Maven 框架依赖 IntelliJ Idea中添加Maven Archetype,但是IntelliJ Idea中并没有提供删除的方法。 windows中可以通过下面方式删除Maven 框架 可以使用Everything全局搜索,或者在idea...
  • 或者比如 a.class使用b.class, a依赖b类 1.4 为了改进项目的开发和管理,maven应运而生 maven可实现以下作用: (1)maven可以管理jar文件 (2)自动下载jar和他的文档,源代码 (3)管理jar直接的依赖, a.jar需要b....
  • Maven项目中,使用到了腾讯信鸽,腾讯信鸽JavaSDK中直接封装了一个jar包;...简单思路就是,需要把自定义的jar包install进maven依赖仓库,然后在pom中直接引入依赖;以下是操作重现:一、使用maven指令将自定义jar包

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,794
精华内容 10,717
关键字:

maven导入自定义依赖