Maven

maven---超级pom

2017-06-11  本文已影响66人  zlcook
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!-- START SNIPPET: superpom -->
<project>
  <modelVersion>4.0.0</modelVersion>

  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <directory>${project.basedir}/target</directory>
    <outputDirectory>${project.build.directory}/classes</outputDirectory>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
    <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
    <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
    <resources>
      <resource>
        <directory>${project.basedir}/src/main/resources</directory>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>${project.basedir}/src/test/resources</directory>
      </testResource>
    </testResources>
    <pluginManagement>
      <!-- NOTE: These plugins will be removed from future versions of the super POM -->
      <!-- They are kept for the moment as they are very unlikely to conflict with lifecycle mappings (MNG-4453) -->
      <plugins>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.3</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.3.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <outputDirectory>${project.build.directory}/site</outputDirectory>
  </reporting>

  <profiles>
    <!-- NOTE: The release profile will be removed from future versions of the super POM -->
    <profile>
      <id>release-profile</id>

      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>

      <build>
        <plugins>
          <plugin>
            <inherited>true</inherited>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <inherited>true</inherited>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <inherited>true</inherited>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
              <updateReleaseInfo>true</updateReleaseInfo>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
<!-- END SNIPPET: superpom -->

2.解读

<repositories>
<repository> 
<id>central</id> 
<name>Central Repository</name> 
<url>https://repo.maven.apache.org/maven2</url> 
<layout>default</layout>
 <snapshots> 
<enabled>false</enabled> 
</snapshots> 
</repository> 
</repositories>

<pluginRepositories>
 <pluginRepository>
 <id>central</id> 
<name>Central Repository</name> 
<url>https://repo.maven.apache.org/maven2</url> 
<layout>default</layout> 
<snapshots> 
<enabled>false</enabled> 
</snapshots>
 <releases> 
<updatePolicy>never</updatePolicy> 
</releases> 
</pluginRepository> 
</pluginRepositories>

看其中一段,声明了对插件maven-antrun-plugin的依赖

<plugin>
 <artifactId>maven-antrun-plugin</artifactId> 
<version>1.3</version> 
</plugin>

进入本地仓库查看发现有两个版本1.3和1.8


Paste_Image.png

1.3版本内容如下:说明处于更新状态,还没从远程仓库下载到。


maven-antrun-plugin-1.3构件处于更新状态

1.8版本内容如下:完整的插件


maven-antrun-plugin-1.8

maven-antrun-plugin-1.3.jar.lastUpdated中内容:


#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Sun Dec 11 16:28:41 CST 2016
http\://172.19.201.155\:8081/repository/maven-public/.lastUpdated=1481444921950
http\://172.19.201.155\:8081/repository/maven-public/.error=

说明下载1.3版本失败。通过地址访问私服也没有查看到相应构件。


更新构件失败,因为在nexus上没找到该构件

在nexus私服中搜索也只发现有1.8版本的插件


maven-antrun-plugin在远程仓库Nexus上的版本
上一篇 下一篇

猜你喜欢

热点阅读