Java Maven-在终端上找不到工件错误,但Eclipse可以工作
我刚刚下载了包含以下内容的Java Maven-在终端上找不到工件错误,但Eclipse可以工作,java,eclipse,maven,Java,Eclipse,Maven,我刚刚下载了包含以下内容的Pom.xml: <?xml version="1.0"?> <!-- [...] --> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww
Pom.xml
:
<?xml version="1.0"?>
<!--
[...]
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>java-design-patterns</artifactId>
<version>1.22.0-SNAPSHOT</version>
</parent>
<artifactId>model-view-controller</artifactId>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
如果我试图从命令行运行manvalidate
,我会得到以下错误
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.iluwatar:model-view-controller:1.22.0-SNAPSHOT: Could not find artifact com.iluwatar:java-design-patterns:pom:1.22.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 29, column 11
但是,如果我试着在Eclipse中运行它,一切都会正常
为什么会这样
它们是否使用不同的设置.xml
在Eclipse输出上调试mvn-X验证
[DEBUG] Reading global settings from settings.xml
[DEBUG] Reading user settings from /Users/myname/.m2/settings.xml
以及调试来自终端输出的调用
[DEBUG] Reading global settings from /usr/local/Cellar/maven/3.6.2/libexec/conf/settings.xml
[DEBUG] Reading user settings from /Users/myname/.m2/settings.xml
Cell中的
settings.xml
没有条目,/Users/myname/.m2/settings.xml
中的条目不存在,但我找不到Eclipse使用的那个(我认为是m2e插件)。您从哪个目录运行mvn
:模型视图控制器
或java设计模式
?您可能需要至少从父级运行一次,才能让它在本地存储库中安装POM。命令行上的Maven不会“从工作区解析项目”…啊,这就是问题所在,我正在model-view-controller
文件夹中运行mvn
。所以Eclipse可以解析父pom,但终端不能,对吗?我相信这就是正在发生的事情。只需注意,在父级中运行的目标是安装
(或暗示它的东西)啊,好的。。非常有趣。非常感谢你的帮助!!但奇怪的是:如果我在Eclipse中只为模型视图控制器pom
运行mvn安装
,它只会在本地存储库中为模型视图控制器创建一个条目。。它不应该为父级java设计模式创建一个文件夹吗?不,它不是这样工作的。您构建的(您称之为mvn的pom或工作目录中的pom)是安装的(如果恰好是带有模块的pom,则包括它的子项)。生成运行子POM,而不是父POM。您从哪个目录运行mvn
:model-view-controller
或java设计模式
?您可能需要至少从父级运行一次,才能让它在本地存储库中安装POM。命令行上的Maven不会“从工作区解析项目”…啊,这就是问题所在,我正在model-view-controller
文件夹中运行mvn
。所以Eclipse可以解析父pom,但终端不能,对吗?我相信这就是正在发生的事情。只需注意,在父级中运行的目标是安装
(或暗示它的东西)啊,好的。。非常有趣。非常感谢你的帮助!!但奇怪的是:如果我在Eclipse中只为模型视图控制器pom
运行mvn安装
,它只会在本地存储库中为模型视图控制器创建一个条目。。它不应该为父级java设计模式创建一个文件夹吗?不,它不是这样工作的。您构建的(您称之为mvn的pom或工作目录中的pom)是安装的(如果恰好是带有模块的pom,则包括它的子项)。生成运行子POM,而不是父POM。
[DEBUG] Reading global settings from /usr/local/Cellar/maven/3.6.2/libexec/conf/settings.xml
[DEBUG] Reading user settings from /Users/myname/.m2/settings.xml