使用Maven全新安装某些模块会导致错误:构建POM时出错(可能不是该项目的POM) [英] Clean install some modules with maven results in an error: Error building POM (may not be this project's POM)

查看:94
本文介绍了使用Maven全新安装某些模块会导致错误:构建POM时出错(可能不是该项目的POM)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在路径C:\ PMX \ checkout \ components \ promomax-all_webapps_component中,我有以下文件:pom-aggregator-packaging.xml

At the path C:\PMX\checkout\components\promomax-all_webapps_component I have this this file: pom-aggregator-packaging.xml

文件pom-aggregator-packaging.xml包含一些使用turtoiseCVS检出的模块.

The file pom-aggregator-packaging.xml contains some modules checked out with turtoiseCVS.

当我进入cmd路径C:\ PMX \ checkout \ components \ promomax-all_webapps_component并键入 mvn -f pom-aggregator-packaging.xml clean install 时,返回的错误是:

When I go in cmd to the path C:\PMX\checkout\components\promomax-all_webapps_component and type mvn -f pom-aggregator-packaging.xml clean install the returned error is:

+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: unknown

Reason: Could not find the model file 'C:\PMX\checkout\bundles\promomax-spring_aspects'. for project unknown


[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Could not find the model file 'C:\PMX\checkout\bundles\promomax-spring_aspects'. for project unknown
    at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Could not find the model file 'C:\PMX\checkout\bundles\promomax-spring_aspects'. for project unknown
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1575)
    at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506)
    at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
    at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
    at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
    at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:560)
    at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
    ... 12 more
Caused by: java.io.FileNotFoundException: C:\PMX\checkout\bundles\promomax-spring_aspects (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at hidden.org.codehaus.plexus.util.xml.XmlReader.<init>(XmlReader.java:124)
    at hidden.org.codehaus.plexus.util.xml.XmlStreamReader.<init>(XmlStreamReader.java:67)
    at hidden.org.codehaus.plexus.util.ReaderFactory.newXmlReader(ReaderFactory.java:118)
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1570)
    ... 18 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Fri Oct 02 15:46:09 EEST 2015
[INFO] Final Memory: 6M/243M
[INFO] ------------------------------------------------------------------------

pom-aggregator-packaging.xml的内容为:

The content of pom-aggregator-packaging.xml is:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.company_name.app_name</groupId>
  <artifactId>monitoring-pom-aggregator</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <name>NameOfTheApp Engine Server Component Pom Aggregator</name>
  <modules>
    ...
    <module>../../bundles/promomax-spring_aspects</module> 
    ... 
  </modules>
</project>

能否请您帮我解决此错误?

如果在pom-aggregator-packaging.xml中,我更改了

If in pom-aggregator-packaging.xml I change the

<module>../../bundles/promomax-spring_aspects</module>给出绝对路径:

<module>C:/PMX/checkout/components/promomax-all_webapps_component/bundles/promomax-spring_aspects</module>

然后再次运行命令 mvn -f pom-aggregator-packaging.xml全新安装,新的错误是:

and then again I run the command mvn -f pom-aggregator-packaging.xml clean install, the new error is:

[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Unable to canonicalize file name C:\PMX\checkout\components\promomax-all_webapps_component\C:\PMX\checkout\components\promomax-all_webapps_component\bundles\promomax-spring_aspects
The filename, directory name, or volume label syntax is incorrect
[INFO] ------------------------------------------------------------------------

推荐答案

请确保您要替换

<module>../../bundles/promomax-spring_aspects</module> 

使用

<module>../../components/promomax-all_webapps_component/bundles/promomax-spring_aspects</module> 

它将起作用.

但是您的设置对我来说似乎并不干净.通常从父POM引用模块,该POM应该位于子pom的更高级别(文件系统)上.

But your setup does not seem clean at all to me. Referring to modules is usually done from a parent POM which should reside on a higher level (file system) than the child poms.

类似

  • myproject
    • 我的模块1
      • pom.xml
      • myproject
        • my module1
          • pom.xml
          • pom.xml

          除非您处于父/子上下文中,否则您不应依赖相对路径.

          You should not depend on relative paths unless you're in a parent/child context.

          进一步阅读: https://stackoverflow.com/a/10453063/190596

          这篇关于使用Maven全新安装某些模块会导致错误:构建POM时出错(可能不是该项目的POM)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆