在nexus Server上部署Artefact - 无法解决错误依赖性

时间:2016-11-16 14:02:56

标签: maven jar nexus

我已经设置了一个nexus服务器,之后我有意见简单地将一个人工制品部署到这个nexus服务器上。因此,我用这个pom创建了一个简单的Java项目:

<project xmlns="...">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MyProject</groupId>
  <artifactId>MyProject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

我的设置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

  <servers>
  </servers>

  <mirrors>
    <mirror>     
      <id>nexus</id>
      <name>Nexus Public Mirror</name>
      <mirrorOf>central</mirrorOf>
      <url>http://it-nexus.domain:8081/nexus/content/groups/public</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
     <id>nexus</id>
     <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

</settings>

然后我尝试用以下方法部署我的人工制品:

  

mvn deploy

我得到了这个错误:

[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or   one of its dependencies could not be resolved: Failure to find org.apache.maven.plugins:maven-resources-plugin
:jar:2.6 in http://it-nexus.domain:8081/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of
nexus has elapsed or updates are forced -> [Help 1]

其实我不知道自己做错了什么!?

1 个答案:

答案 0 :(得分:0)

你有一些错误(好吧,一切都真的)。

首先,您可以从server.xml文件中删除profiles及其下的所有内容以及activeProfiles。接下来,您需要添加一个servers条目,其中包含一个带有id,'nexus'的服务器(假设您上传到用于镜像中心的相同nexus实例),以及某种用户名和密码。

然后你必须在你的pom中有一个distributionManagement部分,引用你在settings.xml文件中指定的相同server,并配置maven-deploy插件。可以找到here的文档。您还需要scm部分。

您谈到的实际错误可能是因为您的nexus服务器实际上未配置为代理/镜像central。哦,你应该使用*作为mirrorOf的参数。