idea使用maven私服+编译上传jar--草稿

nexus3中央仓库改为阿里云

参考:这里写链接内容
找到中央仓库

idea使用maven私服+编译上传jar--草稿_第1张图片

然后修改成:
idea使用maven私服+编译上传jar--草稿_第2张图片

http://maven.aliyun.com/nexus/content/groups/public/

idea使用私服maven及对应配置

参考:
这里写链接内容

首先,新建一个maven项目—自己新建吧。

然后,
idea使用maven私服+编译上传jar--草稿_第3张图片

idea使用maven私服+编译上传jar--草稿_第4张图片

看到本机的maven 配置文件,
这里写图片描述

打开来,然后:
idea使用maven私服+编译上传jar--草稿_第5张图片
添加我们的maven私服及servers—用来发布类库的。

格式如下:


<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>  
          <id>centralid>  
          <mirrorOf>*mirrorOf>  
          <name>Central Repositoryname>  
          <url>http://你仓库的地址/repository/maven-public/url>  
      mirror>  
        
        <mirror>
            <id>alimavenid>
            <mirrorOf>centralmirrorOf>
            <name>aliyun mavenname>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/url>
        mirror>

        
        <mirror>
            <id>repo1id>
            <mirrorOf>centralmirrorOf>
            <name>Human Readable Name for this Mirror.name>
            <url>http://repo1.maven.org/maven2/url>
        mirror>

        
        <mirror>
            <id>repo2id>
            <mirrorOf>centralmirrorOf>
            <name>Human Readable Name for this Mirror.name>
            <url>http://repo2.maven.org/maven2/url>
        mirror>
    mirrors>
    <servers>     
     <server>  
         <id>nexus-releasesid>  
         <username>adminusername>  
         <password>你的密码password>  
     server>  
     <server>  
         <id>nexus-snapshotsid>  
         <username>adminusername>  
         <password>你的密码password>  
     server>    
 servers>  
settings>

发布快照及正式版本

maven(15),快照与发布,RELEASE与SNAPSHOT

在pom.xml文件最后添加distributionManagement发布管理节点:

idea使用maven私服+编译上传jar--草稿_第6张图片

例如:

    <distributionManagement>
        <repository>
            <id>nexus-releasesid>
            <name>Nexus Release Repositoryname>
            <url>http://你的maven地址/repository/maven-releases/url>
        repository>
        <snapshotRepository>
            <id>nexus-snapshotsid>
            <name>Nexus Snapshot Repositoryname>
            <url>http://你的maven地址/repository/maven-snapshots/url>
        snapshotRepository>
    distributionManagement>

注意一下

    <groupId>net.funfunlegroupId>
    <artifactId>baselibartifactId>
    
    <version>1.0.1-RELEASEversion>

groupid这些,

    <groupId>net.funfunlegroupId>
    <artifactId>baselibartifactId>
    
    <version>1.0.1-RELEASEversion>

决定发布的是正式版本release还是快照snapshot的是

    
    <version>1.0.1-RELEASEversion>

版本号及发布类型,有一点也需要注意,snapshot快照允许重复发布更新同一个版本,而release是不允许的,release每次发布版本号都要加的。

发布方式:
idea使用maven私服+编译上传jar--草稿_第7张图片

在mavenproject点击发布deploy。

新项目中引用发布的类库

maven2获取最新版本方式。

这里写链接内容
maven pom文件详解

idea使用maven私服+编译上传jar--草稿_第8张图片

idea使用maven私服+编译上传jar--草稿_第9张图片

idea使用maven私服+编译上传jar--草稿_第10张图片

maven3获取最新版本方式
这里写链接内容

Now I know this topic is old, but reading the question and the OP supplied answer it seems the Maven Versions Plugin might have actually been a better answer to his question:

In particular the following goals could be of use:

versions:use-latest-versions searches the pom for all versions which have been a newer version and replaces them with the latest version.
versions:use-latest-releases searches the pom for all non-SNAPSHOT versions which have been a newer release and replaces them with the latest release version.
versions:update-properties updates properties defined in a project so that they correspond to the latest available version of specific dependencies. This can be useful if a suite of dependencies must all be locked to one version.
The following other goals are also provided:

versions:display-dependency-updates scans a project's dependencies and produces a report of those dependencies which have newer versions available.
versions:display-plugin-updates scans a project's plugins and produces a report of those plugins which have newer versions available.
versions:update-parent updates the parent section of a project so that it references the newest available version. For example, if you use a corporate root POM, this goal can be helpful if you need to ensure you are using the latest version of the corporate root POM.
versions:update-child-modules updates the parent section of the child modules of a project so the version matches the version of the current project. For example, if you have an aggregator pom that is also the parent for the projects that it aggregates and the children and parent versions get out of sync, this mojo can help fix the versions of the child modules. (Note you may need to invoke Maven with the -N option in order to run this goal if your project is broken so badly that it cannot build because of the version mis-match).
versions:lock-snapshots searches the pom for all -SNAPSHOT versions and replaces them with the current timestamp version of that -SNAPSHOT, e.g. -20090327.172306-4
versions:unlock-snapshots searches the pom for all timestamp locked snapshot versions and replaces them with -SNAPSHOT.
versions:resolve-ranges finds dependencies using version ranges and resolves the range to the specific version being used.
versions:use-releases searches the pom for all -SNAPSHOT versions which have been released and replaces them with the corresponding release version.
versions:use-next-releases searches the pom for all non-SNAPSHOT versions which have been a newer release and replaces them with the next release version.
versions:use-next-versions searches the pom for all versions which have been a newer version and replaces them with the next version.
versions:commit removes the pom.xml.versionsBackup files. Forms one half of the built-in "Poor Man's SCM".
versions:revert restores the pom.xml files from the pom.xml.versionsBackup files. Forms one half of the built-in "Poor Man's SCM".
Just thought I'd include it for any future reference.

idea使用maven私服+编译上传jar--草稿_第11张图片

譬如:

idea使用maven私服+编译上传jar--草稿_第12张图片

你可能感兴趣的:(设计架构,maven,nexus,研发模式及运维)