maven 自动公布更新本地和远程仓库

maven 自动发布更新本地和远程仓库

$ mvn install -Dmaven.test.skip=true

mvn clean package deploy -Dmaven.test
.skip=true

 

  1. 本地仓 的更新
    • mvn  clean package install
  2. 远程 的更新
    • mvn clean package deploy
    • 工程文件pom.xml的设置

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven .plugins</groupId>
                    <artifactId>maven -compiler-plugin</artifactId>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <extensions>
            <extension>
                <groupId>org.apache.maven .wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>1.0-alpha-6</version>
            </extension>
        </extensions>

    </build>

    <repositories>
        <repository>
            <id>cdc-respository</id>
            <name>cdc-respository</name>
            <url>http://xxx.xxx.xxx.xx:8080/Maven 2Repository</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>cdc-plugin-respository</id>
            <name>cdc-plugin-respository</name>
            <url>http://xxx.xxx.xxx.xxx:8080/Maven 2Repository</url>
        </pluginRepository>
    </pluginRepositories>

    <distributionManagement>
        <repository>
            <id>my-deploy-respository</id>
            <name>cdc-plugin-respository</name>
            <url>ftp://192.168.2.177/home/mfguser/Maven 2Repository</url>
        </repository>
    </distributionManagement>

  1.  
    • 本地用户setting.xml文件的设定   /root/.m2/settings.xml

     <server>
      <id>my-deploy-respository</id>
      <username>user</username>
      <password>password</password>
    </server>

 

 

 

 

 

 

 

 

 

maven deploy到nexus报错:Return code is: 401, ReasonPhrase:Unauthorized

分类: maven 94人阅读 评论 (0) 收藏 举报

提交到nexus时候报错:

 

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project *: Failed to deploy artifacts: Could not transfer artifact *:jar:1.0 from/to releases (http://10.1.81.199:8081/nexus/content/repositories/releases/): Failed to transfer file: http://10.1.81.199:8081/nexus/content/repositories/releases/com/cs2c/security-management-client * /1.0/*-1.0.jar. Return code is: 401, ReasonPhrase:Unauthorized.

原来是没有配置认证。

 

maven目录conf的setting.xml里,

  1.    < server >   
  2.     < id > releases </ id >   
  3.     < username > admin </ username >   
  4.     < password > admin123 </ password >   
  5.   </ server >   
  6.  < server >   
  7.   < id > snapshots </ id >   
  8.   < username > admin </ username >   
  9.   < password > admin123 </ password >   
  10.   </ server >   
  11. </ servers >   

用户名和密码都是nexus的。再次deploy即可。

注意这里的id要和pom.xml里远程deploy的地址对应一致,我的pom.xml里配置:

  1. <!-- 配置远程发布到服务器,mvn deploy -->   
  2.     < distributionManagement >   
  3.         < repository >   
  4.             < id > releases </ id >   
  5.             < name > Nexus Release Repository </ name >   
  6.             < url > http://10.1.81.199:8081/nexus/content/repositories/releases/ </ url >   
  7.         </ repository >   
  8.         < snapshotRepository >   
  9.             < id > snapshots </ id >   
  10.             < name > Nexus Snapshot Repository </ name >   
  11.             < url > http://10.1.81.199:8081/nexus/content/repositories/snapshots/ </ url >   
  12.         </ snapshotRepository >   
  13.     </ distributionManagement >   




如果这里不配置,会报错: 报 错:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy) on project git-demo: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter