代码之家  ›  专栏  ›  技术社区  ›  tryingToLearn

Maven:mvn clean和mvn包单独运行,但一起出现问题

  •  0
  • tryingToLearn  · 技术社区  · 6 年前

    mvn clean 然后 mvn package 然后一切正常。但是如果我使用命令 mvn clean package 我开始出错了。

    在dependency pom中,我正在将文件安装到localrepo,这个目标与clean阶段有关。安装到localrepo的jar(在清理阶段)将在包阶段需要。

    如果我跑了 首先,在localrepo中成功创建工件。但是当我跑的时候 mvn清洁包 ,localrepo为空。

    mvn清洁包

    项目结构:

    起源

    相关性pom

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
                <executions>
                    <execution>
                        <id>add-myjar</id>
                        <phase>clean</phase>
                        <configuration>
                            <file>D:/myjar.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>com.xyz</groupId>
                            <artifactId>myjar</artifactId>
                            <version>1.0</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                            <localRepositoryPath>D:/localrepo</localRepositoryPath> 
                        </configuration>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>
                </plugin>
            </plugins>
    <build/>
    

    父pom:

    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.cadence</groupId>
      <artifactId>maven</artifactId>
      <version>1.0</version>
      <packaging>pom</packaging>
    
      <name>maven</name>
    
      <modules>   
        <module>dependency</module>
       <!-- <module>application</module> -->
      </modules>
    
      <properties>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>    
      </properties>
    </project>
    

    (不需要应用程序pom,因为依赖模块中出现错误。)

    错误日志: mvn清洁包 mvn清洁包 没有运行与清理阶段相关的安装目标。)

    [信息]错误堆栈跟踪已打开[信息]正在扫描 ------------------------------------------------------------------------【信息】反应堆建造顺序:【信息】【信息】maven
    [pom][INFO]依赖关系
    [jar][INFO][INFO]---------------------------<通用域名格式。xyz:maven

    --------------------------[INFO]Building maven 1.0[1/2][INFO]---------------------------[pom ]---------------------------------[信息][信息]--- -----------------------<通用域名格式。xyz:dependency >----------------------- [信息]建筑依赖1.0
    [2/2][信息]---------------------------[jar 文件:///D:/localrepo/com/xyz/myjar/1.0/myjar-1.0.pom[警告]pom 对于com。xyz:myjar:jar:1.0 is 缺少,没有相关性信息 可从本地maven repo下载: 文件:///D:/localrepo/com/xyz/myjar3/1.0/myjar3-1.0.pom[WARNING] com的POM。xyz:myjar3:jar:1.0 is 缺少,没有相关性信息 可从本地maven repo下载: 文件:///D:/localrepo/com/xyz/myjar2/1.0/myjar2-1.0.pom[WARNING] 文件:///D:/localrepo/com/xyz/myjar/1.0/myjar-1.0.jar下载自 文件:///D:/localrepo/com/xyz/myjar2/1.0/myjar2-1.0.jar下载 文件:///D:/localrepo/com/xyz/myjar3/1.0/myjar3-1.0.jar[信息] ------------------------------------------------------------------------[信息]反应堆摘要:[信息][信息]maven 1.0 .......................................... 成功[0.212秒][信息] 相关性1.0。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。故障[2.874 ------------------------------------------------------------------------[INFO]生成失败[INFO] 2018-06-12T12:23:25+05:30[信息] ------------------------------------------------------------------------[错误]无法对项目依赖项执行目标:无法 解析项目com的依赖项。xyz:dependency:jar:1.0:的 通用域名格式。xyz:myjar3:jar:1.0,网址:。xyz:myjar2:jar:1.0:找不到 神器通信。xyz:myjar:jar:1.0 in 本地maven回购 org.apache.maven.lifecycle.LifecycleExecutionException:未能 对项目依赖项执行目标:无法解析的依赖项 项目com。xyz:dependency:jar:1.0:无法找到以下项目 待解决:com。xyz:myjar:jar:1.0,网址:。xyz:myjar3:jar:1.0, 通用域名格式。xyz:myjar2:jar:1.0:找不到项目com。xyz:myjar:jar:1.0 在本地maven repo(file:///D:/localrepo)中 (生命周期依赖解析程序。java:269) 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (生命周期依赖解析程序。java:147) 在org.apache.maven.lifecycle.internal.MojoExecutor.ensuredependenciesaresolved (莫约)遗嘱执行人。java:246) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:200) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:146) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (生命周期模块生成器。java:81) (单线程生成器。java:56) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter。java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:305) 在org.apache.maven.DefaultMaven.execute(DefaultMaven。java:105) 在org.apache.maven.cli.MavenCli.doMain(MavenCli。java:290) 位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl。java:43) 在java.lang.reflect.Method.invoke(方法。java:606) 网址:org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced (发射器。java:289) 在org.codehaus.plexus.classworlds.launcher.launcher.launcher(launcher。java:229) (发射器。java:415) 在org.codehaus.plexus.classworlds.launcher.launcher.main(launcher。java:356)原因: org.apache.maven.project.DependencyResolutionException:无法 解析项目com的依赖项。xyz:dependency:jar:1.0:的 无法解析以下项目:com。xyz:myjar:jar:1.0, 通用域名格式。xyz:myjar3:jar:1.0,网址:。xyz:myjar2:jar:1.0:找不到 神器通信。xyz:myjar:jar:1.0 in 本地maven回购 (文件:///D:/localrepo) 在org.apache.maven.project.DefaultProjectDependenciesResolver.resolve 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (生命周期依赖解析程序。java:243) 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies 在org.apache.maven.lifecycle.internal.MojoExecutor.ensuredependenciesaresolved (莫约)遗嘱执行人。java:246) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:200) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:154) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:146) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (生命周期模块生成器。java:117) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (单线程生成器。java:56) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:305) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:192) 在org.apache.maven.DefaultMaven.execute(DefaultMaven。java:105) 在org.apache.maven.cli.MavenCli.execute(MavenCli。java:956) 在org.apache.maven.cli.MavenCli.doMain(MavenCli。java:290) 在org.apache.maven.cli.MavenCli.main(MavenCli。java:194) 位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl。java:43) 在java.lang.reflect.Method.invoke(方法。java:606) (发射器。java:289) 在org.codehaus.plexus.classworlds.launcher.launcher.launcher(launcher。java:229) 位于org.codehaus.plexus.classworlds.launcher.launcher.main,带有ExitCode (发射器。java:415) 在org.codehaus.plexus.classworlds.launcher.launcher.main(launcher。java:356)原因: org.eclipse.aether.resolution.DependencyResolutionException:异常 无法解析以下项目:com。xyz:myjar:jar:1.0, 通用域名格式。xyz:myjar3:jar:1.0,网址:。xyz:myjar2:jar:1.0:找不到 (文件:///D:/localrepo) 位于org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (默认存储系统。java:355) 在org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (生命周期依赖解析程序。java:243) 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (生命周期依赖解析程序。java:147) 在org.apache.maven.lifecycle.internal.MojoExecutor.ensuredependenciesaresolved (莫约)遗嘱执行人。java:246) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:154) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:146) (生命周期模块生成器。java:117) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter。java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:305) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:192) 在org.apache.maven.cli.MavenCli.execute(MavenCli。java:956) 在org.apache.maven.cli.MavenCli.doMain(MavenCli。java:290) 在org.apache.maven.cli.MavenCli.main(MavenCli。java:194) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl。java:43) 在java.lang.reflect.Method.invoke(方法。java:606) (发射器。java:289) 位于org.codehaus.plexus.classworlds.launcher.launcher.main,带有ExitCode 在org.codehaus.plexus.classworlds.launcher.launcher.main(launcher。java:356)原因: org.eclipse.aether.resolution.ArtifactResolutionException:异常 通用域名格式。xyz:myjar3:jar:1.0,网址:。xyz:myjar2:jar:1.0:找不到 (文件:///D:/localrepo) (DefaultArtifactResolver。java:422) (DefaultArtifactResolver。java:224) (默认存储系统。java:338) 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies 位于org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (生命周期依赖解析程序。java:147) 在org.apache.maven.lifecycle.internal.MojoExecutor.ensuredependenciesaresolved (莫约)遗嘱执行人。java:246) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:200) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor。java:154) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (单线程生成器。java:56) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter。java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven。java:305) 在org.apache.maven.DefaultMaven.execute(DefaultMaven。java:105) 在org.apache.maven.cli.MavenCli.execute(MavenCli。java:956) 在org.apache.maven.cli.MavenCli.main(MavenCli。java:194) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl。java:43) 在java.lang.reflect.Method.invoke(方法。java:606) (发射器。java:289) 在org.codehaus.plexus.classworlds.launcher.launcher.launcher(launcher。java:229) 位于org.codehaus.plexus.classworlds.launcher.launcher.main,带有ExitCode 在org.codehaus.plexus.classworlds.launcher.launcher.main(launcher。java:356)原因: org.eclipse.aether.transfer.ArtifactNotFoundException:找不到 神器通信。xyz:myjar:jar:1.0 in 本地maven回购 (文件:///D:/localrepo) 位于org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener。java:48) (基本位置连接器。java:365) 在org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder。java:75) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor。java:615) 在java.lang.Thread.run(线程。java:744)[错误][错误]使用-X开关重新运行Maven以启用完全调试日志记录[错误] [错误]有关错误和可能的解决方案的详细信息, 请阅读以下文章:[错误][帮助1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException [错误][错误]更正问题后,可以继续 使用命令[ERROR]mvn-rf生成:依赖关系 系统找不到指定的路径。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Yati Sawhney    6 年前

    使用 mvn install (如果指定的jar是maven项目)在您的本地repo中安装实际上丢失的以下jar。也可以显式地将它们复制到 .m2/repository

    未能对项目依赖项执行目标:无法解析 项目com的依赖项。xyz:dependency:jar:1.0:以下 无法解析项目:com。xyz:myjar:jar:1.0, 通用域名格式。xyz:myjar3:jar:1.0,网址:。xyz:myjar2:jar:1.0:找不到 (文件:///D:/localrepo)—>[帮助1]

    使用 https://cwiki.apache.org//confluence/display/MAVEN/DependencyResolutionException 正如maven自己所建议的那样解决依赖关系

    如果您的默认repo是D://myRepo,也可以添加包的配置

    <phase>package</phase>
                        <configuration>
                            <file>D:/myjar.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>com.xyz</groupId>
                            <artifactId>myjar</artifactId>
                            <version>1.0</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                            <localRepositoryPath>D:/localrepo</localRepositoryPath> 
                        </configuration>