Maven в 5 минутах выпуска - PullRequest
       5

Maven в 5 минутах выпуска

11 голосов
/ 10 декабря 2011

Я следую 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

Ответы [ 6 ]

22 голосов
/ 10 декабря 2011

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

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

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

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

9 голосов
/ 21 мая 2013

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

  • 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" в своих переменных окружения (проверьте это, набрав "echo $Env:HTTP_PROXY")

2 голосов
/ 27 января 2014

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

2 голосов
/ 10 декабря 2011

Во-первых, вы должны следовать совету сообщения об ошибке.Позвоните в 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 голосов
/ 19 марта 2018

Мне понадобилось 75 минут, чтобы создать проект быстрого запуска Maven в Windows 10 с использованием PowerShell в пакетном режиме.Видимо, я допустил три разные ошибки.

Выполните следующие действия:

  • Укажите все обязательные параметры, иначе пакетный режим не будет работать.Это плохо документировано в официальном учебнике Maven , но правильно задокументировано здесь :
    • -B для пакетного режима или -DinteractiveMode=false вместо
    • -DarchetypeGroupId=org.apache.maven.archetypes
    • -DarchetypeArtifactId=maven-archetype-quickstart
    • -DarchetypeVersion=1.1
    • -DgroupId=com.example
    • -DartifactId=app
    • -Dversion=1.0-SNAPSHOT
    • -Dpackage=com.example.project
  • В PowerShell вы должны использовать двойные кавычки вокруг каждого параметра, например, "-DgroupId=com.example"
  • Не используйте разрывы строк в вашем archetype:generate команда

Полный пример:

mvn archetype:generate -B "-DarchetypeGroupId=org.apache.maven.archetypes" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.1" "-DgroupId=com.example" "-DartifactId=app" "-Dversion=1.0-SNAPSHOT" "-Dpackage=com.example.project"
0 голосов
/ 01 мая 2013

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

Если это так, просто перейдите в каталог, где расположен pom, а затем запустите "mvn"установить "или любые другие команды Maven.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...