精华内容
下载资源
问答
  • Intellij IDEA查看maven所有jar包依赖关系小技巧

    Intellij IDEA使用教程相关系列 目录

    暂时专业版才有此功能

    小技巧

    放大缩小效果按钮

     Windows电脑可以按alt键,页面上就会出现放大镜

    红色实线-依赖包冲突

    解决方案:按下图来  

    虚线的红线

    同一个jar被多次引用

     

    很清晰吧,简直是神器,哈哈哈

    展开全文
  • IDEA+Mavenjar包

    万次阅读 多人点赞 2018-04-13 10:08:28
    IDEA+Mavenjar包 (包涵依赖jar) 写在前面: ​ 这两天一直在整(gu)理(dao)IDEA 用Mavenjar包,网上的教程是各式各样,但是都不能满足我的需求(或者 还没有找个正确的),因此 综合网上的内容 自己整理...

    IDEA+Maven 打jar包 (包涵依赖jar)

    最新修改
    以前写的打包方式可能看起来有些繁琐,这里给出进一步简洁的解决方案简单粗暴

    写在前面:

    ​ 这两天一直在整(gu)理(dao)IDEA 用Maven打jar包,网上的教程是各式各样,但是都不能满足我的需求(或者 还没有找个正确的),因此 综合网上的内容 自己整理了一下(以下内容是在mac系统下 win 可能有一些地方不一样)。

    软件环境:

    ​ IDEA:2017.1.5

    ​ Maven:3.3.9

    打jar包:

    • IDEA 自带的打包工具使用

      • 打无依赖jar包

        1. 如果工程目录中有以下文件夹 删掉
          这里写图片描述
      1. 点击工程上方【File】菜单选择【Project Structure】
        这里写图片描述
      2. 点击【+】 选择【JAR】,【From modules with dependencies】点击【ok】
        这里写图片描述
      3. 点击【1】选择你要打包的Module,点击【2】选择你的主类(也就是你的程序的入口)然后点击【ok】这里写图片描述
      4. 点击【ok】
        这里写图片描述
      5. 【1】是要打的jar包的名字,【2】是jar包的输出路径,【3】是程序所需要的jar依赖,【4】是程序主类的名称。因为这里是打没有依赖的jar包,所以将【3】里面不需要的jar包删掉就行。最后点击【ok】这里写图片描述
      6. 然后就会生成一个META-INF的文件夹,里面就是一些配置属性
      • 打包涵依赖jar包
        对以上的方式中的步骤6中 不做任何修改,然后执行步骤7

    • Maven 打包
      • 打无依赖jar包

        1. 在pom.xml 文件里加入

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                  <archive>
                        生成的jar中,不要包含pom.xml和pom.properties这两个文件
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifest>
                          是否要把第三方jar放到manifest的classpath中
                      <addClasspath>true</addClasspath>
                         生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/
                      <classpathPrefix>lib/</classpathPrefix>
                          应用的main class
                      <mainClass>com.yourClass</mainClass>
                    </manifest>
                  </archive>
                      过滤掉不希望包含在jar中的文件
                  <excludes>
                    <exclude>${project.basedir}/xml/*</exclude>
                  </excludes>
               </configuration>
           </plugin> 
          
        2. 点开Maven管理工具
          这里写图片描述

        3. 点击【package】
          这里写图片描述

        4. 等运行完以后就会生成jar包了
          这里写图片描述

      • 打包涵依赖jar包
        第一种方法
        1. 在pom.xml文件中写入

          <build>
             <plugins>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
              </plugin>
              <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                  <archive>
                    <manifest>
                      <mainClass>com.test.app</mainClass>
                    </manifest>
                  </archive>
                  <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                </configuration>
                <!--下面是为了使用 mvn package命令,如果不加则使用mvn assembly-->
                <executions>
                  <execution>
                    <id>make-assemble</id>
                    <phase>package</phase>
                    <goals>
                      <goal>single</goal>
                    </goals>
                  </execution>
                </executions>
              </plugin>
             </plugins>
          </build>
        
        1. 然后执行上面【Maven 打无依赖包】步骤2到步骤4

        第二种方法

        1. 在pom.xml文件中写入
          <plugin>
           <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
              <archive>
                   <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件-->
                <addMavenDescriptor>false</addMavenDescriptor>
                <manifest>
                      <!--是否要把第三方jar放到manifest的classpath中-->
                  <addClasspath>true</addClasspath>
                     <!--生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/-->
                  <classpathPrefix>lib/</classpathPrefix>
                     <!-- 应用的main class-->
                  <mainClass>com.yourClass</mainClass>
                </manifest>
              </archive>
                <!--  过滤掉不希望包含在jar中的文件-->
              <excludes>
                <exclude>${project.basedir}/xml/*</exclude>
              </excludes>
           </configuration>
          </plugin>
          
          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                  <descriptors>
                    <descriptor>src/main/assembly/package.xml</descriptor>
                  </descriptors>
                </configuration>
                <executions>
                  <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                      <goal>single</goal>
                    </goals>
                  </execution>
                </executions>
              </plugin>
          
        2. 创建【src/main/assembly】目录
        3. 创建package.xml文件
          <assembly>
            <id>bin</id>
            <!-- 最终打包成一个用于发布的zip文件 -->
            <formats>
                <format>zip</format>
            </formats>
            <!-- Adds dependencies to zip package under lib directory -->
            <dependencySets>
                <dependencySet>
                    <!--
                       不使用项目的artifact,第三方jar不要解压,打包进zip文件的lib目录
                   -->
                    <useProjectArtifact>false</useProjectArtifact>
                    <outputDirectory>lib</outputDirectory>
                    <unpack>false</unpack>
                </dependencySet>
            </dependencySets>
          
            <fileSets>
                <!-- 把项目相关的说明文件,打包进zip文件的根目录 -->
                <fileSet>
                    <directory>${project.basedir}</directory>
                    <outputDirectory>/</outputDirectory>
                    <includes>
                        <include>README*</include>
                        <include>LICENSE*</include>
                        <include>NOTICE*</include>
                    </includes>
                </fileSet>
          
                <!-- 把项目的配置文件,打包进zip文件的config目录 -->
                <fileSet>
                    <directory>${project.basedir}/src/main/config</directory>
                    <outputDirectory>config</outputDirectory>
                    <includes>
                        <include>*.xml</include>
                        <include>*.properties</include>
                    </includes>
                </fileSet>
          
                <!-- 把项目的脚本文件目录( src/main/scripts )中的启动脚本文件,打包进zip文件的跟目录 -->
                <fileSet>
                    <directory>${project.build.scriptSourceDirectory}</directory>
                    <outputDirectory></outputDirectory>
                    <includes>
                        <include>startup.*</include>
                    </includes>
                </fileSet>
          
                <!-- 把项目的脚本文件(除了启动脚本文件),打包进zip文件的script目录 -->
                <fileSet>
                    <directory>${project.build.scriptSourceDirectory}</directory>
                    <outputDirectory></outputDirectory>
          
                    <excludes>
                        <exclude>startup.*</exclude>
                    </excludes>
                </fileSet>
          
                <!-- 把项目自己编译出来的jar文件,打包进zip文件的根目录 -->
                <fileSet>
                    <directory>${project.build.directory}</directory>
                    <outputDirectory></outputDirectory>
                    <includes>
                        <include>*.jar</include>
                    </includes>
                </fileSet>
            </fileSets>
          </assembly>
          
        4. 将【package.xml】文件放入【assembly】文件夹中
          这里写图片描述
        5. 然后执行上面【Maven 打无依赖包】步骤2到步骤4

    如果要打包scala代码需要添加插件:
    方案一:

     <plugin>
         <groupId>net.alchim31.maven</groupId>
         <artifactId>scala-maven-plugin</artifactId>
         <version>3.4.0</version>
         <executions>
             <execution>
                 <goals>
                     <goal>compile</goal>
                     <goal>testCompile</goal>
                 </goals>
             </execution>
         </executions>
     </plugin>
    

    方案二:

    	<plugin>
    		<groupId>org.scala-tools</groupId>
    		<artifactId>maven-scala-plugin</artifactId>
     		<version>2.15.2</version>
     		<executions>
             	<execution>
                	 <goals>
                     	<goal>compile</goal>
                     	<goal>testCompile</goal>
                	 </goals>
             	</execution>
         	</executions>
    	</plugin>
    

    推荐方案一,方案二中的插件最新更新日期是2011年

    简单粗暴
    将下面的任意一种方案放到pom文件中,并修改成自己项目中的MainClass即可

    </plugins>
        </build>
         方案一 or 方案二
         <build>
    <plugins>
    
    • 方案一:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
                <configuration>
                    <transformers>
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>com.test.MainClass</mainClass>   <!--带有包路径的MainClass -->
                        </transformer>
                    </transformers>
                </configuration>
            </execution>
        </executions>
    </plugin>
    
    • 方案二:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>com.test.MainClass</mainClass>   <!--带有包路径的MainClass -->
                </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
    
        <executions>
            <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    注:

    本文属于作者原创,如需转载,请注明。

    内部如果引用的文字,连接,图片等资源存在侵犯原作者的情况,请联系本人,立即删除。

    展开全文
  • Maven 下载JAR包

    千次阅读 2018-11-07 21:30:35
    Maven 下载JAR包

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                           

    进入Spring官网http://projects.spring.io/spring-framework/如果我们想下载Spring发现只能

    通过Maven或Cradle进行下载了。

    这里写图片描述

    下面以Spring为例使用Maven下载JAR文件


    方法:

    1、任意目录下创建一个文件夹,其下创建一个pom.xml文件(本例为:D:\maven-jar)


    2、修改Maven默认的下载位置

    打开 D:\apache-maven-3.0.5\conf\settings.xml

    <!-- localRepository   | The path to the local repository maven will use to store artifacts.   |   | Default: ~/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:/maven-jar</localRepository>
      
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7


    3、pom.xml

    <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>springframework</groupId>   <artifactId>project</artifactId>   <version>1.0</version>   <!-- 下载相应jar包依赖 -->   <dependencies>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>4.2.3.RELEASE</version>        </dependency>    </dependencies></project>
      
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18


    4、打开控制台,执行下面 mvn clean install 命令

    这里写图片描述


    完成之后就可以看到下载的Spring有关JAR文件了

    这里写图片描述


    作者:itmyhome

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block var foo = 'bar'; 

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑$1600
    手机$12
    导管$1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列第二列第三列
    第一列文本居中第二列文本居右第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPEASCIIHTML
    Single backticks'Isn't this fun?'‘Isn’t this fun?’
    Quotes"Isn't this fun?"“Isn’t this fun?”
    Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to- HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

    Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t &ThinSpace; . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    gantt
            dateFormat  YYYY-MM-DD
            title Adding GANTT diagram functionality to mermaid
            section 现有任务
            已完成               :done,    des1, 2014-01-06,2014-01-08
            进行中               :active,  des2, 2014-01-09, 3d
            计划一               :         des3, after des2, 5d
            计划二               :         des4, after des3, 5d
    
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • Mavenjar包冲突原理与解决办法

    万次阅读 多人点赞 2018-07-20 19:57:34
    Mavenjar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Mavenjar包冲突的解决办法。

    Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法。

    一、Maven中jar包冲突产生原因

    MAVEN项目运行中如果报如下错误:

    Caused by:java.lang.NoSuchMethodError
    Caused by: java.lang.ClassNotFoundException
    
    

    十有八九是Maven jar包冲突造成的。那么jar包冲突是如何产生的?

    首先我们需要了解jar包依赖的传递性。

    1、依赖传递

    当我们需要A的依赖的时候,就会在pom.xml中引入A的jar包;而引入的A的jar包中可能又依赖B的jar包,这样Maven在解析pom.xml的时候,会依次将A、B 的jar包全部都引入进来。

    举个例子:
    在Spring Boot应用中导入Hystrix和原生Guava的jar包:

    <!--原生Guava API-->
    <dependency>
    	<groupId>com.google.guava</groupId>
    	<artifactId>guava</artifactId>
    	<version>20.0</version>
    </dependency>
    
    <!--hystrix依赖(包含对Guava的依赖)-->
    <dependency>
    	<groupId>org.springframework.cloud</groupId>
    	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    	<version>1.4.4.RELEASE</version>
    </dependency>
    

    利用Maven Helper插件得到项目导入的jar包依赖树:
    这里写图片描述
    从图中可以看出Hystrix包含对Guava jar包依赖的引用: Hystrix -> Guava,所以在引入Hystrix的依赖的时候,会将Guava的依赖也引入进来。

    2、jar包冲突原理

    那么jar包是如何产生冲突的?
    假设有如下依赖关系:

    A->B->C->D1(log 15.0):A中包含对B的依赖,B中包含对C的依赖,C中包含对D1的依赖,假设是D1是日志jar包,version为15.0

    E->F->D2(log 16.0):E中包含对F的依赖,F包含对D2的依赖,假设是D2是同一个日志jar包,version为16.0

    当pom.xml文件中引入A、E两个依赖后,根据Maven传递依赖的原则,D1、D2都会被引入,而D1、D2是同一个依赖D的不同版本。
    当我们在调用D2中的method1()方法,而D1中是15.0版本(method1可能是D升级后增加的方法),可能没有这个方法,这样JVM在加载A中D1依赖的时候,找不到method1方法,就会报NoSuchMethodError的错误,此时就产生了jar包冲突。

    注:
    如果在调用method2()方法的时候,D1、D2都含有这个方法(且升级的版本D2没有改动这个方法,这样即使D有多个版本,也不会产生版本冲突的问题。)

    举个例子:
    这里写图片描述
    利用Maven Helper插件分析得出:Guava这个依赖包产生冲突。
    我们之前导入了Guava的原生jar包,版本号是20.0;而现在提示Guava产生冲突,且冲突发生位置是Hystrix所在的jar包,所以可以猜测Hystrix中包含了对Guava不同版本的jar包的引用。

    为了验证我们的猜想,使用Maven Helper插件打印出Hystrix依赖的jar tree:
    这里写图片描述
    可以看到:Hystrix jar中所依赖的Guava jar包是15.0版本的,而我们之前在pom.xml中引入的原生Guava jar包是20.0版本的,这样Guava就有15.0 与20.0这两个版本,因此发生了jar包冲突。

    二、 Maven中jar包冲突的解决方案

    Maven 解析 pom.xml 文件时,同一个 jar 包只会保留一个,那么面对多个版本的jar包,需要怎么解决呢?

    1、 Maven默认处理策略

    • 最短路径优先

    Maven 面对 D1 和 D2 时,会默认选择最短路径的那个 jar 包,即 D2。E->F->D2 比 A->B->C->D1 路径短 1。

    • 最先声明优先

    如果路径一样的话,如: A->B->C1, E->F->C2 ,两个依赖路径长度都是 2,那么就选择最先声明。

    2、移除依赖:用于排除某项依赖的依赖jar包

    (1)我们可以借助Maven Helper插件中的Dependency Analyzer分析冲突的jar包,然后在对应标红版本的jar包上面点击execlude,就可以将该jar包排除出去。
    这里写图片描述
    再刷新以后冲突就会消失。

    (2)手动排除
    或者手动在pom.xml中使用<exclusion>标签去排除冲突的jar包(上面利用插件Maven Helper中的execlude方法其实等同于该方法):

    <dependency>
    	<groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    		<version>1.4.4.RELEASE</version>
    		<exclusions>
    			<exclusion>
    				<groupId>com.google.guava</groupId>
    				<artifactId>guava</artifactId>
    			</exclusion>
    	</exclusions>
    </dependency>
    

    mvn分析包冲突命令:

    mvn dependency:tree
    

    3 版本锁定原则:一般用在继承项目的父项目中

    正常项目都是多模块的项目,如moduleA和moduleB共同依赖X这个依赖的话,那么可以将X抽取出来,同时设置其版本号,这样X依赖在升级的时候,不需要分别对moduleA和moduleB模块中的依赖X进行升级,避免太多地方(moduleC、moduleD…)引用X依赖的时候忘记升级造成jar包冲突,这也是实际项目开发中比较常见的方法。

    首先定义一个父pom.xml,将公共依赖放在该pom.xml中进行声明:

    <properties>
        <spring.version>spring4.2.4</spring.version>
    <properties>
    
    <dependencyManagement>
        <dependencies>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-beans</artifactId>
    			<version>${spring.versio}</version>
    		</dependency>
    	</dependencies>
    </dependencyManagement>
    

    这样如moduleA和moduleB在引用Spring-beans jar包的时候,直接使用父pom.xml中定义的公共依赖就可以:
    moduleA在其pom.xml使用spring-bean的jar包(不用再定义版本):

    <dependencies>
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-beans</artifactId>
    	</dependency>
    </dependencies>
    

    moduleB在其pom.xml使用spring-bean的jar包如上类似:

    <dependencies>
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-beans</artifactId>
    	</dependency>
    </dependencies>
    

    以上就是日常开发中解决Maven冲突的几个小方案,当然实际开发中jar包冲突的问题可能远远比这个更复杂,需要具体问题具体处理。


    2018/07/20 15:14:00 in SH.

    参考:https://blog.csdn.net/u011955252/article/details/78927427

    展开全文
  • 通过maven下载jar包

    千次阅读 2017-05-09 13:36:01
    通过maven下载jar包
  • 下载maven私服所有jar包

    千次阅读 2019-08-12 20:37:20
    这里讲的是nexus3做为maven私服服务器,下载某个仓库下的所有jar包(带文件夹,就是与maven本地仓库一样的结构),以代理仓库为例:下载代理仓库下所有jar包 思路 我们平时用到的开源jar包都会在代理仓库缓存一份...
  • maven下载jar包失败,解决

    千次阅读 2019-05-13 16:46:52
    今天遇到一个很坑很坑的问题就是maven下载jar包失败的问题,这个问题很常见,基本原因就那些,无非就是配置jar包版本库里面没有,或者连接仓库超时,下载失败,需要把本地maven库里面的jar删除之后再下载。...
  • maven 下载jar包命令

    万次阅读 2019-06-04 14:08:58
    复制代码到配置文件pom中 org.mybatis mybatis 3.4.5 1.DOS命令行里cd 进入有Pom.xml的那个文件夹,然后输入·call mvn -f pom.xml dependency:copy-dependencies·...程序就会立即下载Jar包到本地Maven仓库中 ...
  • maven下载jar包慢-解决详细

    千次阅读 2019-03-23 17:23:25
    maven下载jar包慢如何解决 问题发生: 在maven项目的pom.xml中添加了依赖保存以后就出现了building Workspace, 并且下载速度非常缓慢甚至卡死。 原因: maven依赖下载默认使用的是国外的网络,导致了经常下载...
  • maven下载jar包的同时下载源码

    千次阅读 2018-09-08 16:30:40
    有时,我们想在maven下载jar包的同时,下载源代码,以便于查看。只需要在eclipse上进行如下设置 点击 Window ,选择 Preferences ,点击 maven ,进行如下设置,即可 ...
  • maven项目jar包不自动下载

    千次阅读 2017-10-23 14:16:17
    事情起因是上午导入maven项目的时候点错了将正在下载jar包给停止掉了 等导入完整个工程发现都是带红色感叹号的 build path发现缺jar包 于是开始解决 先是从网上找了最相似情况的解决办法: 1.找到我们的本地...
  • Maven下载Jar包同时下载source和javadoc

    千次阅读 2017-03-08 13:40:10
    Maven下载Jar包同时下载源文件和文档 示例: mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs 参考: ...
  • maven依赖jar包冲突的解决思路

    万次阅读 2020-04-08 15:18:17
    目的是提供maven依赖jar包冲突的解决思路 需求场景: jackson-databind、fastjson 高危远程代码执行漏洞修复。Jackson-databind,版本号升级为2.10.3;fastjson,版本号升级为1.2.66 问题描述: 对需求...
  • IDEA Maven 下载jar包失败的问题解决

    千次阅读 2020-01-31 17:59:44
    使用maven个别jar包一直下载j失败,网上找了些办法,最后验证这个可行,特此记录。 我的问题是阿里相关的jar无法下载(其他同理): 解决方法如下: 1、在pom.xml上右键,打开maven的setting文件 2、在...
  • 查看maven仓库里出现大量的.lastupdated文件,这些文件是不能用,需要把这些文件全部删除,然后重新再下载,如果还是下载不好就反复删除再下载最终会下载好的,我有时候就是这样反复很多次才能把jar包下载好。...
  • 使用Maven管理jar包的同时,使用lib下的jar包
  • idea maven下载jar包失败解决办法

    千次阅读 2020-03-24 10:55:49
    相信大家在idea 中使用maven中导入依赖,而本地仓库没有,需要从远程...如何解决,并修复这些下载不完整的jar包依赖呢? 首先点击右侧maven栏 点击m图标 在Command line中输入 mvn -U idea:idea 然后重新加载下 ...
  • Maven解决jar包冲突

    千次阅读 2014-09-16 16:45:11
    Maven解决jar包冲突
  • 在使用pom.xml下载jar包的同时,肯定还想要sorce.jar包一起下载到本地
  • maven miss jar包解决方法

    千次阅读 2017-03-22 21:26:29
    maven miss jar包解决方法
  • idea中maven导入jar包

    万次阅读 2017-11-15 16:06:21
    一、从版本控制系统(svn / git等)导出一个新maven项目到idea中按照如下方法下载jar包 1、点击1号红框处,打开maven视图窗口(正常情况下maven视图隐藏着idea窗口右侧,点击1号后显示) 2、点击2号或3号红...
  • eclipse下使用maven下载jar包慢的问题

    千次阅读 2017-07-25 19:31:08
    maven作为一个项目管理工具确实非常好用,但是下载jar包实在太慢,今天在论坛里看到一位吧友发的解决maven下载jar包慢的方法,自己试了试,速度真的飞快,阿里公开的一个中央仓库,就记录下来。 修改maven根目录...
  • maven下载jar包失败的原因 解决方法

    千次阅读 2015-12-17 21:44:18
    有事突然退出,再次进入jar包还是下载不起可能的原因就是 maven没有将jar下载完时,会生成一个.lastupdate文件 解决方法: 使用文件搜索工具(楼主用的是 Everything) 输入.lastupdate删除所有以.lastupdate结尾的...
  • 怎么将第三方jar包转成mavenjar包

    千次阅读 2018-08-07 09:54:01
    要知道有些第三方提供的jar包文件是没有maven版本的,但是你这...我的这个jar包现在以及下载解压到桌面  地址为:C:\Users\Administrator\Desktop\QRCode.jar (注意:在转maven jar包之前需要确保计算机已有ma...
  • maven下载jar包下载不下来的解决方法

    万次阅读 2018-10-11 16:03:01
    在eclipse中安装了maven插件,项目在运行的时候,一直通过pom.xml文件下载jar包,一直下载不下来, 在更新maven库时,如果网络问不定或者是一些自己手动安装到本地maven库的jar包,在中心库找不到对应的jar, 会...
  • mavenjar包并且包含部分依赖jar

    千次阅读 2017-03-18 15:58:04
    需求: maven 想做一个工具jar包,依赖公共jar 和自己的本地jar包,本地的jar包需要解压成class打到jar包内,而依赖的公共jar包则不需要 踢出公共jar包 可以用 的值的含义: compile,缺省值,适用于所有阶段,...
  • Mavenjar包包含源代码

    千次阅读 2016-08-29 13:38:22
    Mavenjar包包含源代码Mavenjar包包含源代码只需要在pom.xml 中配置如下插件即可 <groupId>org.apache.maven.plugins <artifactId>maven-source-plugin <vers
  • idea maven 下载jar包失败的问题

    万次阅读 2018-09-01 21:33:05
    初步使用idea玩玩springboot项目,奈何引入mybatis后,maven一直就是下载jar包失败,网上找了些办法,最后验证这个可行,特此记录 先记录一下:下图就是刷新项目,让maven重新下载jar包的 1、打开maven的setting...
  • Maven下载Jar包同时下载源文件和文档

    千次阅读 2014-07-18 17:22:02
    Maven下载Jar包同时下载源文件和文档   示例: mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs  参考: ...
  • 最近把本地一个项目移到新的开发环境中,但是maven总是有几个jar包不能下载下来,最后通过三个步骤总有把jar安装好,项目顺利跑起来了,特此记录一下,免得以后忘了,再来翻翻个人的烂笔头!!  第一个方法:删除...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,446
精华内容 113,778
关键字:

下载maven所有的jar包