2

我今天不得不从旧的 Nexus 服务器迁移到 Nexus OSS v2.0.4。从早上开始,我一直面临着奇怪的问题。首先我安装了nexus并启动它,我只能从服务器机器上浏览它一次,然后就不能再浏览它了。但后来我可以从网络中的所有其他机器访问服务器(使用http://remote.hostname:8081/nexus)。

然后我把旧服务器机器上的存储目录的所有内容都复制下来,一一粘贴到新机器上。(对于每个存储库,在新服务器中创建一个存储库并将其local storage Location作为我从旧服务器复制的目录)。现在我可以看到我拥有的所有罐子,但是当我尝试从 maven 使用它们时,我无法这样做。意思是,如果我尝试运行一个 maven 项目,那么它会说找不到依赖项。我可以看到它正在新服务器中的位置寻找 jar,但无法下载它。知道为什么它无法下载罐子吗?

另外我仍然无法从服务器机器的浏览器访问新的nexus服务器,为什么会这样?任何建议将不胜感激。谢谢。

====更新====

当我摆弄 maven 时,我发现我能够从公共存储库访问依赖项,但不能从一个特定的存储库访问(到目前为止我只知道一个)。这可能是因为某种原因吗?我怀疑迁移的一些错误问题,这是从一台服务器迁移到另一台服务器的正确方法吗?

此外,所有代理存储库的状态为In service-Remote automatically blocked and unavailable. 这是否与我的问题有关?

===Settings.xml===

<settings>

  <localRepository>${env.TEST_HOME}\maven.repository</localRepository>

<proxies>
<proxy>
  <id>Compproxy</id>
  <active>true</active>
  <protocol>http</protocol>
  <username></username>
  <password></password>
  <host>proxy.abc.com</host>
  <port>81</port>
  <nonProxyHosts>*.abc.com|rick*</nonProxyHosts>
</proxy>
</proxies>
    <servers>
<server>
    <id>MyRep</id>
  <username>admin</username>
  <password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
  <id>central mirror</id>
  <url>http://rick1.abc.com:8081/nexus/content/groups/public</url>
  <mirrorOf>central</mirrorOf>
 </mirror>
 <mirror>
  <id>opensymphony mirror</id>
  <url>http://rick1.abc.com:8081/nexus/content/groups/public</url>
  <mirrorOf>opensymphony</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
  <id>actProf</id>
  <repositories>
    <repository>
        <id>public</id>
        <url>http://rick1:8081/nexus/content/groups/public</url>
    </repository>
    <repository>
        <id>MyRep</id>
        <url>http://rick1:8081/nexus/content/repositories/MyRep</url>
    </repository>
  </repositories>
  <properties>
  </properties>        
</profile>
</profiles>
<activeProfiles>
<activeProfile>actProf</activeProfile>
</activeProfiles>
</settings>

===pom.xml===

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.abc.test</groupId>
  <artifactId>testgui_start</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <name>Start POM Test GUI</name>
  <url>www.abc.com</url>
  <build>
<plugins>
</plugins>
</build>
  <dependencies>
  <dependency>
    <groupId>com.abc.test</groupId>
    <artifactId>testgui</artifactId>
    <version>${version}</version>
    <scope>runtime</scope>
  </dependency>
</dependencies>
</project>
4

1 回答 1

0

您必须做的一件事是将您创建的所有存储库添加到公共组,以便它们可供 Maven 使用,前提是您使用仅引用公共组的标准 settings.xml。

此外,我会停止并重新启动服务器,并仔细查看日志并报告更多信息。它可能被设置为侦听特定端口等。还请记住,当我们迁移到 2.0 时,启动脚本发生了变化,因此您必须替换您放置在 /etc/init.d/ 中的旧脚本。

于 2012-06-16T00:05:26.917 回答