Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法解析依赖项,无法读取项目描述符,无法收集依赖项_Java_Maven_Dependencies - Fatal编程技术网

Java 无法解析依赖项,无法读取项目描述符,无法收集依赖项

Java 无法解析依赖项,无法读取项目描述符,无法收集依赖项,java,maven,dependencies,Java,Maven,Dependencies,有一个项目myProject有两个模块,moduleB依赖于moduleA。moduleA成功构建并部署在nexus上,但当您尝试部署moduleB时,会出现以下错误: [ERROR] Failed to execute goal on project moduleB: Could not resolve dependencies for project groupId:moduleB:jar:1.0-SNAPSHOT Failed to collect dependencies at gr

有一个项目myProject有两个模块,moduleB依赖于moduleA。moduleA成功构建并部署在nexus上,但当您尝试部署moduleB时,会出现以下错误:

[ERROR] Failed to execute goal on project moduleB: 
Could not resolve dependencies for project groupId:moduleB:jar:1.0-SNAPSHOT 
Failed to collect dependencies at groupId:moduleA:jar:1.0-SNAPSHOT: 
Failed to read artifact descriptor for groupId:moduleA:jar:1.0-SNAPSHOT: 
Could not find artifact groupId:myProject:pom:1.0-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: 
Failed to execute goal on project moduleB: 
Could not resolve dependencies for project groupId:moduleB:jar:1.0-SNAPSHOT:
Failed to collect dependencies at groupId:moduleA:jar:1.0-SNAPSHOT
或者有时候这个:

[ERROR] Failed to execute goal on project moduleB: 
Could not resolve dependencies for project groupId:moduleB:jar:1.0-SNAPSHOT 
Failed to collect dependencies at groupId:moduleA:jar:1.0-SNAPSHOT: 
Failed to read artifact descriptor for groupId:moduleA:jar:1.0-SNAPSHOT:
Failure to find groupId:myProject:pom:360 
in http://lonrs07557:8081/nexus/content/groups/public/  was cached in the local repository, 
resolution will not be reattempted until the update interval 
of myProject_maven_repo has elapsed or updates are forced.
我四处寻找解决方案,但每次都会出现不同的错误,结果变得混乱。我试过做一个clean-U,一个依赖树,一个有效的pom等等(都没有成功)。我的maven回购协议设置正确:

   <repositories>
        <repository>
            <id>nexus</id>
            <name>nexus repository</name>
            <url>http://lonrs07557:8081/nexus/content/groups/repo</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
  [...]
  <distributionManagement>
        <site>
            <id>lonrs07557-docs</id>
            <name>Documentation Repository</name>
            <url>scp://lonrs07557:9999/content/maven/site-documentation</url>
        </site>
        <repository>
             <id>lonrs07557-releases</id>
             <name>Release Repository</name>
             <url> dav:http://lonrs07557:8081/nexus/content/repositories/releases</url>
       </repository>
        <snapshotRepository>
            <id>lonrs07557-snapshots</id>
            <name>Snapshot Repository</name>
            <url>dav:http://lonrs07557:8081/nexus/content/repositories/snapshots</url>
            <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>
另外,当我在本地构建时,一切都是成功的,当我稍后通过TeamCity进行构建时,它在前面提到的问题上失败了,因此在我努力在本地重现问题的过程中,我删除了我的本地maven回购协议,它被迫创建一个新的协议,这导致了相同的错误。然后我通过先构建moduleA,然后构建moduleB来解决这个问题。但是,当我通过TeamCity代理执行此操作时,我不能使用相同的解决方法

我运行它的方式(本地和TeamCity)是:

settings.xml


c:/maven/repository
org.mortbay.jetty
com.totsp.gwt
lonrs07563文件
XXXXX
XXXXX
不
lonrs07557版本
XXXXX
XXXXX
lonrs07557快照
XXXXX
XXXXX
myProject\u maven\u回购
*
http://lonrs07557:8081/nexus/content/groups/public/
地方的
符合事实的
${env.MYPROJECT_CLUSTER_PORT}
${env.MYPROJECT_CLUSTER_ADDRESS}
${env.hostname}

我确实定义了一个${project.groupId}moduleA${project.version}有几个缺陷:您有一个名为“groupId”的
groupId
?奇怪的第二:您显然希望将快照引入存储库,但您启用的存储库是一个发布repo。也许这是你的问题。它就是不在那里,Maven看的地方。命名约定是这样的,因为我无权分享实际的名字!那么
http://57:8081/nexus
?缺少一些字符…settings.xml中是否有镜像元素?如果是,请给我们看看。此外,存储库元素在哪里定义?在您的设置中还是在POM中?第三:分发管理元素只用于上传,不用于依赖关系解析。
[WARNING] The POM for groupId:log-util:jar:1.0-SNAPSHOT is missing, 
no dependency information available
mvn clean deploy -f moduleB/pom.xml -U -X 
<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">
  <localRepository>c:/maven/repository</localRepository>
<pluginGroups>
        <pluginGroup>org.mortbay.jetty</pluginGroup>
        <pluginGroup>com.totsp.gwt</pluginGroup>
    </pluginGroups>

    <servers>
        <server>
            <id>lonrs07563-docs</id>
            <username>XXXXX</username>
            <password>XXXXX</password>
            <configuration>
            <knownHostsProvider
                implementation="org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider">
                <hostKeyChecking>no</hostKeyChecking>
            </knownHostsProvider>
            </configuration>
        </server>
        <server>
            <id>lonrs07557-releases</id>
            <username>XXXXX</username>
            <password>XXXXX</password>
        </server>
        <server>
            <id>lonrs07557-snapshots</id>
            <username>XXXXX</username>
            <password>XXXXX</password>
        </server>
    </servers>

    <mirrors>
        <mirror>
            <id>myProject_maven_repo</id>
            <mirrorOf>*</mirrorOf>
            <url>http://lonrs07557:8081/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>local</id>
            <activation>
                            <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <clusterport>${env.MYPROJECT_CLUSTER_PORT}</clusterport>
                <clusteraddress>${env.MYPROJECT_CLUSTER_ADDRESS}</clusteraddress>
                <hostname>${env.hostname}</hostname>
            </properties>
        </profile>
    </profiles>
</settings>