精华内容
下载资源
问答
  • 主要介绍了怎么把本地jar包放入本地maven仓库和远程私服仓库的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • maven来构建项目,依赖jar包不用放...这时候就得为这个jar添加远程仓库,告诉maven,这个jar包不是从你的中央仓库获取的,是从我指定的远程仓库获取的。 1、例子: a、pom文件引用了一个不存在中央仓库的jar包,它
    用maven来构建项目,依赖jar包不用放到lib下面了,直接在pom文件声明即可。但是pom文件声明引用的jar包,默认是从maven中央仓库下载的。如果引用了不存在中央仓库的jar包,就会报错:依赖找不到。这时候就得为这个jar包添加远程仓库,告诉maven,这个jar包不是从你的中央仓库获取的,是从我指定的远程仓库获取的。
    1、例子:
    a、pom文件引用了一个不存在中央仓库的jar包,它存放在Java.net资源库中
    org.jvnet.localizer 只适用于  Java.net资源库
    在pom.xml下有如下声明:
    <dependency>       
        <groupId>org.jvnet.localizer</groupId>        
        <artifactId>localizer</artifactId>       
        <version>1.8</version>
    </dependency>
    当你建立这个 Maven 项目,它将报错:依赖找不到,并输出错误信息。

    b、正确的声明方式
    a段声明保留,只需要在pom文件下加入如下配置,即配置远程仓库,就能正确找到jar包
    在本地资源库没有找到org.jvnet.localizer,在中央资源库也没找到,需要声明远程仓库,到远程仓库去查找依赖
    <repositories>
        <repository>    
            <id>java.net</id>    
            <url>https://maven.java.net/content/repositories/public/</url>
        </repository>    
    </repositories>

    2、Maven的依赖库查询顺序为:
    1. 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
    2. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
    3. 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。

    3、总结
    默认情况下,Maven从Maven中央仓库( http://search.maven.org/ 下载所有依赖关系。但是,有些库丢失了,在Maven中央仓库找不到,只有在Java.net或JBoss的储存库远程仓库中才能找到,这时候就要添加远程仓库:
    repositories标签下可以放多个repository,repository下需要指定id和url的值:
    <project ...>
        <repositories>    
            <repository>      
                <id>java.net</id>      
                <url>https://maven.java.net/content/repositories/public/</url>    
            </repository> 
        </repositories>
    </project>
    
    <project ...>    
        <repositories>      
            <repository>
                <id>JBoss repository</id>
                <url>http://repository.jboss.org/nexus/content/groups/public/</url>      
            </repository>    
        </repositories>
    </project>


    展开全文
  • 一、无源码,直接以文件的形式发布jar包(deploy-file) 情况一:前提,有项目的pom文件(如果没有pom文件,可以从jar包中提取出来),自动出pom文件读取groupId等信息 (如果没有pom文件,可以看下面的情况二)...

     

    一、无源码,直接以文件的形式发布jar包(deploy-file)

     

    情况一:前提,有项目的pom文件(如果没有pom文件,可以从jar包中提取出来),自动出pom文件读取groupId等信息

    (如果没有pom文件,可以看下面的情况二)

     

    我已经写成了标准脚本,并经常使用,分享出来:

    1、deploy-jar.bat

    @echo off

     

    echo "=== start to deploy jar... ==="

     

    call mvn deploy:3.0.0-M1:deploy-file -X ^

        -Durl=file:///D:/0sync-local/git/repository ^

        -DrepositoryId=git-repo ^

        -Dfile=./apollo-client-0.10.3-SNAPSHOT.jar ^

        -DpomFile=./apollo-client-0.10.3-SNAPSHOT.pom ^

        -Dsources=./apollo-client-0.10.3-SNAPSHOT-sources.jar

    ::    -Djavadoc=./apollo-client-0.10.3-SNAPSHOT-javadoc.jar

     

    echo "=== deploy jar finished ... ==="

     

    pause

    如果是远程仓库的话,将上面的url替换成远程仓库地址即可,例如

    -Durl=http://10.2.10.22:8081/nexus/content/repositories/releases/

    注意 pomFile 虽然也是可选,但是建议加上,否则无法自动识别依赖包,需要手动添加依赖。

     

    2、deploy-pom.bat

    @echo off

    echo "=== start to deploy pom... ==="

     

    call mvn deploy:deploy-file -X ^

        -Durl=file:///D:/0sync-local/git/repository ^

        -DrepositoryId=git-repo ^

        -Dfile=./apollo-0.10.3-SNAPSHOT.pom ^

        -DpomFile=./apollo-0.10.3-SNAPSHOT.pom ^

        -Dpackaging=pom

     

    echo "=== deploy pom finished ... ==="

     

    pause

     

    具体用法可以参见官方文档:

    http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html

    http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-sources-javadoc.html

     

     

    情况二:有无pom文件都可以,手动指定groupId等信息

    deploy-jar.bat

    @echo off

    :: ****************************************************************************

    :: Title :  deploy jar to maven repositories                                                      

    ::                                                                            

    :: Usage :  根据需要自己修改                                                                      

    ::                                                                            

    :: Notes :                      

    ::   1. 参数pomFile、sources、javadoc为可选,但是建议都有

    ::   2. 区分SNAPSHOT版本和RELEASE版本,repository和url不一样

    ::   3. 参见官方文档:http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html

    ::   4. 建议使用 deploy-jar-func-version.bat ,更加方便。                                                

    ::                                                                 

    :: Requires: Maven > mvn                                                       

    ::                                                                            

    :: Returns:  

    ::                                                                            *

    :: Author:   Zollty Tsou                                                      *

    :: Version:  1.0.0                                                            *

    :: Date:     03/05/2016                                                       *

    :: Link:     https://github.com/zollty/tool-libs                              *

    :: ****************************************************************************

     

    echo "=== Start to deploy jars... ==="

     

    set   releasesRepoId=pre-nexus-releases

    set  releasesRepoUrl=http://10.2.10.22:8081/nexus/content/repositories/releases/

     

    set  snapshotsRepoId=pre-nexus-snapshots

    set snapshotsRepoUrl=http://10.2.10.22:8081/nexus/content/repositories/snapshots/

     

    set base_dir=C:/Users/zollty/lib

     

    call mvn deploy:deploy-file ^

    -DartifactId=api-base ^

    -Dversion=1.1 ^

    -DgroupId=org.zollty ^

    -Dfile=%base_dir%/api-base-1.1.jar ^

    -DpomFile=%base_dir%/pom.xml ^

    -Dsources=%base_dir%/api-base-1.1-sources.jar ^

    -Djavadoc=%base_dir%/api-base-1.1-javadoc.jar ^

    -DrepositoryId=%releasesRepoId% -Durl=%releasesRepoUrl%

     

    call mvn deploy:deploy-file ^

    -DartifactId=jretty-log ^

    -Dversion=1.2-SNAPSHOT ^

    -DgroupId=org.jretty ^

    -Dfile=C:/Users/zollty/jretty-log-1.2-SNAPSHOT.jar ^

    -DpomFile=%base_dir%/pom.xml ^

    -Dsources=%base_dir%/jretty-log-1.2-SNAPSHOT-sources.jar ^

    -Djavadoc=%base_dir%/jretty-log-1.2-SNAPSHOT-javadoc.jar ^

    -DrepositoryId=%snapshotsRepoId% -Durl=%snapshotsRepoUrl%

     

     

    echo "=== deploy jars finished ... ==="

     

    pause

     

    二、以源码的方式打包并发布

    方法1:配置如下pom.xml,然后直接运行 mvn deploy

    <distributionManagement>

      <repository>

        <id>git-repo</id>

        <url>file:///D:/0sync-local/git/repository</url>

      </repository>

    </distributionManagement>

    方法2:不配置xml,直接在命令行配置仓库地址,如下:

    mvn deploy -DaltDeploymentRepository=my-git-repo::default::file:///D:/0sync-local/git/repository

    同上,如果是远程仓库的话,将上面的url替换成远程仓库地址即可,例如

    -Durl=http://10.2.10.22:8081/nexus/content/repositories/releases/

     

    三、如果要通过ssh或者ftp发布

    只需要将上面的“file://”协议改一下,并引入额外的maven插件即可。

    参见官方文档:http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html

     

     

    四、利用git或者其他http服务搭建maven远程仓库

    上面已经说了如何将jar包发布到本地目录,只需要把文件同步到git仓库即可。然后在pom.xml配置git仓库地址即可,例如:

    <repositories>

      <repository>

        <id>zollty-git-repo</id>

        <url>https://raw.githubusercontent.com/zollty/maven-repo/master</url>

      </repository>

    </repositories>

    还可以,建一个snapshots、releases的分支来分别存放snapshots、releases类型的jar包。

    推荐这种用法,例如:

    <repositories>

      <repository>

         <id>git-maven-repo-snapshots</id>

         <url>https://gitee.com/maven-repo/repository/raw/snapshots</url>

      </repository>

      <repository>

         <id>git-maven-repo-releases</id>

         <url>https://gitee.com/maven-repo/repository/raw/releases</url>

      </repository>

    </repositories>

     

    展开全文
  • idea搜索maven远程仓库上的jar

    千次阅读 2020-01-27 17:52:33
    在国内下载jar包慢,只需要引入一个阿里云的镜像...将下面的代码添加maven的配置文件<mirrors></mirrors>里,就可以实现从阿里云镜像下载jar包: <mirror> <id>aliyun</id> ...

    在国内下载jar包慢,只需要引入一个阿里云的镜像即可,在maven的setting中加入阿里云的mirror。将下面的代码添加到maven的配置文件<mirrors></mirrors>里,就可以实现从阿里云镜像下载jar包:

            <mirror>
                <id>aliyun</id>
                <mirrorOf>central</mirrorOf>
                <name>aliyun</name>
                <url>https://maven.aliyun.com/repository/central</url>
            </mirror>

    但是这个镜像只是加快了下载速度,并不提供idea里的搜索功能,我真正想实现的是搜索的时候能列出远程库中的内容。

    idea编辑pom文件时,使用alt+insert,选择Dependency来搜索jar包添加引用。

    会弹出Maven Artifact Search界面,如下图所示,默认情况下,搜出来的只有我本地已有的jar包。

    要想搜索到仓库中的jar包,就需要去更新repository的index,配置的库在Setting Maven Repositories里可以看到,只有我本地的和默认的。而且那个默认的中心库点击update就会提示Error,即使在替换为阿里云的镜像之后,还是一点update就报错,自然也就搜索不到远程仓库里的jar包。

    鼠标放上去,有如下提示:

    Resource nexus-maven-repository-index.properties does not exist

    这个提示是maven未找到索引文件,正常情况idea会去中心仓库找这个nexus-maven-repository-index.properties文件,这个文件就是索引,idea找到这个文件,会把文件下载到本地,这样本地搜索的时候,就会把远程仓库上的已有jar包列出来。从别的地方看到:目前来说,http://repo1.maven.org/maven2/ 是真正的Maven中央仓库的地址,该地址内置在Maven的源码中,其它地址包括著名的ibiblio.org,都是镜像。中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件至2019年1月22日大小约为1.04G,索引每周更新一次。

    此部分来源:https://www.jianshu.com/p/dddc8b8c5c74

    看来问题在于阿里云的镜像里,未提供索引文件,所以这个远程的仓库没有索引还是搜索不了,所以我网上又找了个仓库地址,是http://121.42.166.202:8081/nexus/content/repositories/aliyun/,这个地址能够访问到index文件,但是我看里面的时间是2018年的,已经比较旧了,长期未更新。索引地址为:http://121.42.166.202:8081/nexus/content/repositories/aliyun/.index/nexus-maven-repository-index.properties

    我把mirror地址替换成http://121.42.166.202:8081/nexus/content/repositories/aliyun/后,就能在搜索界面搜索到远程仓库上的jar包了,效果如下图:

    到这里已经初步实现了我想要的功能,但是这个镜像的index一直没更新,一些新版本的jar包也还是搜索不出来,这当然也不行,还是要再找到一个带定期更新索引的镜像,我现在还没找到,找到合适的地址后我会贴出来。

    至于阿里云为什么下载不了index,可能是最近阿里云镜像进行了更新,后来我在他们的FAQ中看到如下说明:

     

    展开全文
  • 常规开源jar包是从远程maven仓库下载到本地仓库 当在pom.xml中使用坐标定位依赖时就会去找到相应的jar包进行使用 有的时候可能自己会有一些封装的框架jar包,那么怎么把它加入到本地仓库并且在pom.xml中进行依赖,...

    常规开源jar包是从远程maven仓库下载到本地仓库 当在pom.xml中使用坐标定位依赖时就会去找到相应的jar包进行使用

    有的时候可能自己会有一些封装的框架jar包,那么怎么把它加入到本地仓库并且在pom.xml中进行依赖,打成war包时也会加入这个包。

    假设自定义了一个core.jar,那么切换命令行到该jar包路径下执行

    mvn install:install-file -Dfile=core.jar -DgroupId=com.timeless -DartifactId=core -Dversion=1.0.0 -Dpackaging=jar

    其中-Dfile就是jar包名称

    -DgroupId -DartifactId就是到时候pom.xml引用时对应的坐标名称

     

    <dependency>
        <groupId>com.timeless</groupId>
        <artifactId>core</artifactId>
        <version>1.0.0</version>
    </dependency>
    展开全文
  • 双击下图中的install,就会自动加载
  • Maven推送本地jar包到远程仓库

    千次阅读 2019-12-18 12:37:53
      今天在commons-utils 工程下新建了公司项目的公共方法,本地...在pom文件中添加远程仓库的地址和id.名称可以不需要.当然具体根据实际操作. <!--配置远程仓库地址--> <distributionManagement> <...
  • Maven-添加jar包到本地/远程仓库

    千次阅读 2015-02-26 13:12:15
    当在配置的中央仓库找不到我们需要的jar包时,我们如何使用Maven去引用这个jar包 1,下载所需要使用的jar包,我这里用ojdbc14.jar来做这个实验 2,使用mvn命令将jar添加到本地仓库中去 mvn install:install-file ...
  • 把下面这段话复制到里,直接从阿里云远程仓库里下载jar包,大概是从默认仓库下载太慢了导致失败?? <mirror> <id>nexus-aliyun</id> <name>nexus-aliyun</name> <url>...
  • Maven如何导入远程仓库没有的jar

    千次阅读 2018-08-06 17:24:52
    开发中使用Maven去搭建项目的时候 会出现在远程仓库 没有的jar包就拿IDEA为例 在cmd.exe中输入 mvn install:install-file -Dfile= “jar包在那个盘的那个文件下” -DgroupId=org.oracle(这里是给jar包起的一个组名...
  • 1、先将jarmaven仓库,下载到本地。maven服务器地址http://mvnrepository.com/open-source 2、打开dos界面,执行mvn install:install-file -Dfile=D:/taobao-sdk-java-auto-20160607.jar -DgroupId=...
  • 简介: 以前去面试的时候,经常会...自从自己使用maven管理项目之后,才发现,maven简直太强大了,保证你用过一次,你就再也不想用下载,拷贝jar包的方法了。 步骤: 1.下载maven安装 2.配置maven环境,和配置jdk差...
  • maven打包加入本地jar

    2020-05-22 13:56:59
    maven项目在开发的时候,有时候,并不是所有的依赖都可以在远程仓库能够获取到,只能是在一些网站下载没有推到公共仓库的jar文件,然后加入到工程的buildpath中,在本地开发运行,不会有问题,但是最后打包部署的...
  • 因为我现在没有一套随便实验的flink集群,也没有阿里云的oss,所以就只好做个最简单的实验,证明我是可以从远程加载jar包然后使用jar包中的类的。 首先,需要先创建一个maven工程,创建一个类叫...
  • 项目结构:maven项目,且配置了公司内网搭建的私服地址发现问题:一旦离开私服所在的公司网络,install项目的时候就会失败,问题是会连接私服读取jar,即使本地maven仓库已经包含了该jar 解决方案 仔细查看maven ...
  • 1 手动引入jar包 在项目上右键import,选择maven中的install…to...2 远程仓库 安装好Maven之后,我们可以建立一个简单的项目,配置一些简单的依赖,然后运行mvn clean install,项目就构建好了。我们没有手工的去下...
  • maven工程加载本地jar包(三方jar包) 1 jar包放在本地,通过pom文件增加配置,在本地私有仓库中相应...当根据配置文件加载jar包时,本地仓库有这个jar包,就不会去远程仓库取jar包了(远程仓库并没有)。 应用场景:在
  • 有的时候想获取某一个jar包,但是下载一般都会需要比较多的C币(可能只是一个普通的jar),想想就划不来,很多jar其实是可以从Maven仓库中获取的,以下就配置Maven仓库的过程做一个简单的note: Apache官网下载...
  • maven3.6; gpg suite; 文中module代码为示例demo,自己也可以随便找个,进行测试; 文末有配置文件; 启用最新地址:s01.oss.sonatype.org 已安装idea: 已安装maven: ​ 一句话 建jira账号 - 建GPG账号 - 复制pom...
  • maven引用本地jar

    2020-12-10 22:56:46
    远程仓库不存在某jar包,手工加载后,打入仓库 执行指令 在控制台执行: mvninstall:install-file-Dfile=jar包的位置 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar 其中,...
  • maven 引入外部jar包的方法

    千次阅读 2017-09-04 16:37:21
    但是碰到一个问题, alipay-sdk-java20161213173952.jarjar添加到项目各中奇葩的问题, 不是不能编译,就是打了war包,该包不在war中。 后来查了资料, 发现有人加入的方式是,在本地仓库中添加该包的所在位置...
  • 1.将本地jar包放入本地仓库。只需执行如下命令即可: mvn install:install-file -Dfile=D:/demo/fiber.jar -DgroupId=...打开本地maven仓库所在目录即可看到被添加的本地jar包。 2.将本地jar包放入远程私服...
  • android studio 远程导入jarmaven

    千次阅读 2016-09-23 11:08:19
    如果想通过URL地址添加一个Maven仓库,我们可以将以下代码片段加入到build.gradle文件中: 在这里我们导入一个https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh作为例子 在项目的bui
  • 上传jar包到远程仓库

    2016-07-29 15:47:56
    上传;远程仓库;远程私服;本地仓库;pom.xml
  • 一、从版本控制系统(svn / git等)导出一个新maven项目到idea中按照如下方法下载jar包 1、点击1号红框处,打开maven视图窗口(正常情况下maven视图隐藏着idea窗口右侧,点击1号后显示) 2、点击2号或3...
  • 配置maven到settings.xml文件,添加以下内容: <servers> <server> <id>snapshots</id> <username>https://issues.sonatype.org的注册账号</username> <passw...
  • 1.引用本地jar包文件 <dependencies> <dependency> <groupId>com.alipay</groupId> <artifactId>alipay-sdk-java</artifactId> <version>2.0</v...
  • 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的 maven 远程仓库,每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自己开发的项目打成 jar 并发布到私服服务器,...
  • 本地仓库中有jar,但是maven依然不从本地仓库读取,而从远程仓库来获取,理论上maven加载顺序应该是首先先从本地repository读取,然后再从远程仓库下载,可是为什么这个jar,会直接从远程仓库下载呢? 分析一下本地...
  • 作者添加了一些自定义的、在远程仓库找不到的插件jar包,所以需要将该jar的原上项目文件clone到本地,并通过mvn命令安装到本地仓库之中。又因为最近更换到了Mac环境下,对新系统下的很多操作都不熟悉,Maven又没有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,869
精华内容 12,747
关键字:

maven加载远程jar