Maven构建工作从命令提示符,但不是从Eclipse

时间:2016-06-15 04:42:42

标签: java eclipse maven

enter image description here我在日食中发现了这个疯狂的问题。我可以使用命令" maven clean package"来运行Maven构建。在命令提示符下。但是当我尝试通过右键单击>来构建相同的日食时以 - >运行Maven build,在配置中我添加了" clean package"。它给我带来了

的错误
The project com.svu.core:cUT:1.0.0-SNAPSHOT (E:\CU-SVN\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Failure to find com.zenmonics.core:epom:pom:1.0.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 11, column 10 -> [Help 2]

它在POM.xml中有相同的错误,但是它是如何从命令提示符运行而不是从eclipse IDE运行的。由于这个原因,我无法在Build路径中获取Maven依赖项。

<project xmlns="http://maven.apache.org/POM/4.0.0" x mlns: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.svu.core</groupId>-->
<artifactId>cUT</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>pom :: cUT</name>
<packaging>pom</packaging>

<parent> <---------- Here it throws error 
    <groupId>com.svu.core</groupId>
    <artifactId>epom</artifactId>
    <version>1.0.0</version>
</parent>

enter image description here

7 个答案:

答案 0 :(得分:0)

请检查您的工作区是否存在maven存储库..!

答案 1 :(得分:0)

请尝试放入您的pom.xml。您的错误表明问题出在pom.xml @ line 11, column 10

问题是你当前的pom中没有检测到parent pom。请尝试以下

<project>

  <parent>
    <groupId>com.svu.core</groupId>
    <artifactId>epom</artifactId>
    <version>1.0.0</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.svu.core</groupId>         <--- Same group id as your parent
  <artifactId>cUT</artifactId>

参考:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
 
注意:我没有足够的声誉来评论您的问题。

答案 2 :(得分:0)

以下工作时

cd cUT
mvn compile

但是相同的模块无法在Eclipse中编译。可能你已经改变了Maven配置,它的Eclipse视图不再是最新的了。如果您在Eclipse外部或在不被视为位于项目路径中的位置更改pom.xml文件,则可能会出现这种情况(请参阅您的其他question)。

在Eclipse的Project Explorer中选择模块cUT。按ALT-F5(执行maven - &gt;更新项目)。选择项目的所有模块,检查update project configuration from pom.xml是否已启用,然后单击“òk”进行处理。

答案 3 :(得分:0)

您可能在eclipse中使用嵌入式maven。

您可以尝试使用在系统上使用的相同maven设置。

转到 - &gt;

窗口&gt;&gt;首选项&gt;&gt; maven&gt;&gt;装置

在此处 - 添加新安装并将路径提供给maven库的bin文件夹。

尝试使用这种方法 - 如果你的maven命令在命令提示符下工作正常,它应该可以工作。

答案 4 :(得分:0)

我有同样的问题,一切都在eclipse火星上工作,但是我切换到了Eclipse Oxygen并且所有的变量都很好,我到处检查过。

突然之间,我进入了eclipse for Maven Installations的首选项(你指向Maven目录)并且在路径的末尾摆脱了正斜杠并且它工作了!

基本上:

更改C:\ Program Files \ apache-maven_3.5.3 \

C:\ Program Files \ apache-maven_3.5.3

它有效!

答案 5 :(得分:0)

从命令行构建和Eclipse之间的区别在于变量。喜欢:

  • Java路径(如果您有多个jdk)。命令行将从java home中选择,您可以在eclipse中配置要使用的jdk。

  • settings.xml也可以不同。我认为这是您的问题。命令行从源代码目录(如果有)中选择settings.xml。该文件包含用于下载所有依赖项的Maven存储库URL。在eclipse中,您可以配置settings.xml的路径。我怀疑与命令行相比,Eclipse的路径有所不同。请在Eclipse中更改它,它应该可以工作。我已经遇到了这个问题,这是根本原因。您可以在日志中看到“ 未能找到com.zenmonics.core:epo ,这表明存储库URL中存在一些问题。

答案 6 :(得分:0)

我已经安装了最新的 maven,并且在 windows -> maven -> 安装中我已经添加了我最新的 maven。它开始为我工作。