2011-12-10 3 views
11

I; м следующие Maven in 5 Minutes руководство со следующим:Maven в выпуске 5 минут

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

я получил следующее сообщение об ошибке:

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.160s 
[INFO] Finished at: Sat Dec 10 16:27:55 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 

Пожалуйста, помогите. Заранее благодарим за помощь.

ДОПОЛНИТЕЛЬНО:

PS D:\experiment\maven> ping http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom 
Ping request could not find host http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom. Please check the name and try again. 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.869s 
[INFO] Finished at: Sat Dec 10 19:03:37 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
org.apache.maven.lifecycle.MissingProjectException: The goal you specified requires a project to exe 
cute but there is no POM in this directory (D:\experiment\maven). Please verify you invoked Maven fr 
om the correct directory. 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:89) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     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:601) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 
+1

Это странно. Я просто попробовал ** точную ** команду, и он создал проект Maven под названием «my-app» без каких-либо ошибок. Можете ли вы подтвердить, что вы выдаете эту команду из каталога, который еще не является проектом Maven? Если вы новичок в Maven, вам лучше всего попробовать эти вещи из пустого каталога. –

ответ

2

Во-первых, вы должны следовать советам сообщения об ошибке. Позвоните в Maven с дополнительными флагами, чтобы получить дополнительную информацию.

Во-вторых, вы должны убедиться, что ваше интернет-соединение работает из командной строки. Можете ли вы, например, загрузить http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom в своем браузере? Если нет, Maven не сможет загрузить необходимые плагины, и поэтому нормальная загрузка, которая необходима до того, как ваш проект может быть создан, не будет выполнен. Проверьте, использует ли ваш браузер прокси-сервер, и вы не указали переменную среды HTTP_PROXY. Если это так, то определить в оболочке, которую вы используете переменную HTTP_PROXY командой:

set HTTP_PROXY=http://<my.proxy.host>:<port> 

с правильными значениями для my.proxy.host и port. Если это хорошо работает, определите переменную среды для системы, чтобы каждая открытая оболочка определяла эту переменную среды.

Пожалуйста, добавьте эту информацию на ваш вопрос и извините за неправильный совет, чтобы позвонить ping http://...., что не может работать.

+0

HTTP_PROXY не определен. Кроме того, в моем браузере используется прокси-сервер. Я использую Windows 7 SP1 – pion

22

Я использую Windows 7 SP1.

У меня возникла проблема, потому что я запускал ее с помощью PowerShell.

Он отлично работает, когда я запускал его с помощью CMD.EXE.

Спасибо за помощь всем.

+1

Было бы неплохо добавить эту информацию к вашему вопросу (или даже название вашего вопроса), потому что эта информация здесь интересна. Прекрасно, что он работает сейчас для вас. – mliebelt

+0

Умное наблюдение, у меня была та же проблема. – javamonkey79

+0

Странно, но это сработало! –

0

Я не уверен, что вы используете «mvn compile» из каталога POM, и именно поэтому он просит POM.

Если это так, просто перейдите в каталог, в котором находится pom, а затем запустите «mvn install» или любые другие команды Maven.

9

Я столкнулся с той же проблемой, и, похоже, у нас есть аналогичные установки

  • для Windows 7
  • Powershell
  • HTTP прокси

вот что я должен сделать :

  1. Обернуть все "-D..." внутри двойных кавычек, например.

    mvn archetype:generate "-DarchetypeGroupId=org.apache.maven.archetypes" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DgroupId=com.mycompany.app" "-DartifactId=my-app" 
    
  2. Убедитесь, что "HTTP_PROXY" установлен должным образом в вашем envrironment переменных (проверить это, набрав "echo $Env:HTTP_PROXY")

+0

Мне нравится этот ответ лучше, чем предложение использовать CMD.EXE, потому что это решение вместо обходного пути. Спасибо, это сработало для меня. – neontapir

2

я имел подобную ошибку и попытался использовать двойные кавычки, чтобы обернуть все -D и работал для меня ..

Пример:

mvn archetype:create "-DarchetypeGroupId=org.springframework.ws" "-DarchetypeArtifactId=spring-ws-archetype" "-DarchetypeVersion=2.1.4.RELEASE" "-DgroupId=com.mycompany.hr" "-DartifactId=holidayService" 
+0

Если это решает проблему, в основном зависит от вашей оболочки и аналогичных факторов. –

Смежные вопросы