![](/img/trans.png)
[英]Source dependency in Maven multi module project - cannot compile modules by themselves
[英]Maven cannot compile project with dependency
我有个问题。 我创建了 2 个 maven 项目并将这两个文件夹复制到我的 Ubuntu 服务器。 当我想mvn package
程序 A 时,其中包含项目 B(模拟器)的依赖项:
<dependency>
<groupId>com.simulator</groupId>
<artifactId>simulator</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
它说:
[ERROR] Failed to execute goal on project hatop: Could not resolve dependencies for project com.hatop:hatop:jar:1.0-SNAPSHOT: Could not find artifact com.simula tor:simulator:jar:1.0-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o n project hatop: Could not resolve dependencies for project com.hatop:hatop:jar: 1.0-SNAPSHOT: Could not find artifact com.simulator:simulator:jar:1.0-SNAPSHOT
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDepend encies (LifecycleDependencyResolver.java:269)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolvePr ojectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreRes olved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreaded Builder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleSt arter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccesso rImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMetho dAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launche r.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:2 25)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launc her.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347 )
Caused by: org.apache.maven.project.DependencyResolutionException: Could not res olve dependencies for project com.hatop:hatop:jar:1.0-SNAPSHOT: Could not find a rtifact com.simulator:simulator:jar:1.0-SNAPSHOT
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (Defa ultProjectDependenciesResolver.java:209)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDepend encies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolvePr ojectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreRes olved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreaded Builder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleSt arter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccesso rImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMetho dAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launche r.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:2 25)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launc her.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347 )
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could no t find artifact com.simulator:simulator:jar:1.0-SNAPSHOT
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependenc ies (DefaultRepositorySystem.java:357)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (Defa ultProjectDependenciesResolver.java:202)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDepend encies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolvePr ojectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreRes olved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreaded Builder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleSt arter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccesso rImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMetho dAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launche r.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:2 25)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launc her.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347 )
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact com.simulator:simulator:jar:1.0-SNAPSHOT
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (Default ArtifactResolver.java:424)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependenc ies (DefaultRepositorySystem.java:340)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (Defa ultProjectDependenciesResolver.java:202)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDepend encies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolvePr ojectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreRes olved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreaded Builder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleSt arter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccesso rImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMetho dAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launche r.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:2 25)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launc her.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347 )
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.simulator:simulator:jar:1.0-SNAPSHOT
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (Default ArtifactResolver.java:414)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependenc ies (DefaultRepositorySystem.java:340)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (Defa ultProjectDependenciesResolver.java:202)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDepend encies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolvePr ojectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreRes olved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.ja va:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject ( LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreaded Builder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleSt arter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccesso rImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMetho dAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launche r.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:2 25)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launc her.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347 )
我已经打包了模拟器项目,所以package的目标文件夹中有一个.jar
文件。 在我的 windows 桌面上以可视代码运行它可以正常工作,并且项目已打包。 是什么原因造成的,我该如何解决?
您需要首先在依赖项上运行mvn install
。
运行mvn package
仅在此项目的target
文件夹中生成 JAR。
但是,为了能够通过依赖机制在另一个项目上使用这个 JAR,您需要放在 Maven 期望它的地方:它被称为 Z9115C10980645C41313F244AC1A377F。
例如,您在$HOME/.m2/repository
中有一个本地 Maven 存储库。 还有一些远程存储库(Maven Central),例如可以使用公共库。
因此,您必须将项目的 JAR 文件放入存储库中。
怎么做?
要将其发布到本地存储库,您只需运行mvn install
而不是mvn package
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.