Introduction
No goals specified is a common error when you try to build a project without specifying any valid maven goals. An indication is that you run maven without specifying any goal or lifecycle phase.
A Maven goal is a task or set of tasks that the Maven tool executes in the project life-cycle phase. Maven plugins can define several goals in the pom.xml explicitly. For example, we find the goals defined by a plugin in the pom.xml project file:
<plugins>
<plugin>
<executions>
<execution>
…
<goals>
<goal>GOAL NAME</goal>
</goals>
…
</execution>
</executions>
</plugin>
</plugins>
Error Trace
Sample Maven Error trace:
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format: or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
Root cause
First things first, this error could even pop with a silly mistake like running the ‘mvn’ command without a valid POM.xml project file. Check if the pom.xml has any errors. If you are running Maven from the command line, check the directory path where you are running.
If the pom.xml file is present and doesn’t have any errors. You can look and find out more information about the error if you run Maven in debug mode.
/> mvn -X
or
/> mvn –debug
Stack trace:
org.apache.maven.lifecycle.NoGoalSpecifiedException: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:94)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
Fix the Problem
The steps to take to fix the problem depend on the IDE tool used, and the environment where the project like standalone, Jenkins CI, etc. Make sure the project file pom.xml has no errors.
As the error indicates, you have not specified a valid maven goal or life-cycle phase when running the build. For example, the most common goals are: clean, compile, install, verify, integration-test, test-compile, clean verify, etc.
You need to look at the documentation of the maven plugin that you are using in the project to know the valid goals to run with the Maven build tool.
For more information, visit the following URL:
https://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
Fix in Eclipse IDE
Right-click on the Project >> Run As >> Maven Build
Maven Goals
Specify valid Maven goals:
Example Goals
Build Success
After adding valid maven goals, build and run the project.
Maven Build Cycle
To know more about the Maven build cycle visit the following URL:
—
Maven Tutorials
Maven Tutorials on this website can be found at:
https://www.testingdocs.com/apache-maven-tutorial/
For more details on the Apache Maven, visit the official website at:
https://maven.apache.org/
I am trying to build this maven project:
- https://github.com/jottinger/owlapi-tutorial
Within this maven:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.autumncode</groupId>
<artifactId>owlapi-tutorial</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>[4.0.2,)</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-rio</artifactId>
<version>[4.0.2,)</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>jfact</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>[6.9.8,)</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-rio</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>jfact</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
I found some questions about it as:
- No goals have been specified for this build.
- maven — j2objc — No goals have been specified for this build
- No goals have been specified for this build
- Maven how to find out what settings.xml is used (Ubuntu)
- How to fix this Build Path Error?
- How to fix this maven warning on Eclipse: «There is no schema defined for this pom.xml»
They are saying I need to set a goal as:
<goals>
<goal>exploded</goal>
</goals>
But I do not know how to put it in the configuration file above. This is the full log output when running the initial pom.xml
:
mvn -e -X
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T16:39:06-03:00)
Maven home: D:UserDocumentsapache_marvenmaven
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: C:Program FilesJavajdk1.8.0_65jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "x86", family: "windows"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG] Imported: javax.enterprise.inject.* < plexus.core
[DEBUG] Imported: javax.enterprise.util.* < plexus.core
[DEBUG] Imported: javax.inject.* < plexus.core
[DEBUG] Imported: org.apache.maven.* < plexus.core
[DEBUG] Imported: org.apache.maven.artifact < plexus.core
[DEBUG] Imported: org.apache.maven.classrealm < plexus.core
[DEBUG] Imported: org.apache.maven.cli < plexus.core
[DEBUG] Imported: org.apache.maven.configuration < plexus.core
[DEBUG] Imported: org.apache.maven.exception < plexus.core
[DEBUG] Imported: org.apache.maven.execution < plexus.core
[DEBUG] Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG] Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG] Imported: org.apache.maven.model < plexus.core
[DEBUG] Imported: org.apache.maven.monitor < plexus.core
[DEBUG] Imported: org.apache.maven.plugin < plexus.core
[DEBUG] Imported: org.apache.maven.profiles < plexus.core
[DEBUG] Imported: org.apache.maven.project < plexus.core
[DEBUG] Imported: org.apache.maven.reporting < plexus.core
[DEBUG] Imported: org.apache.maven.repository < plexus.core
[DEBUG] Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG] Imported: org.apache.maven.settings < plexus.core
[DEBUG] Imported: org.apache.maven.toolchain < plexus.core
[DEBUG] Imported: org.apache.maven.usability < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG] Imported: org.codehaus.classworlds < plexus.core
[DEBUG] Imported: org.codehaus.plexus.* < plexus.core
[DEBUG] Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG] Imported: org.codehaus.plexus.component < plexus.core
[DEBUG] Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG] Imported: org.codehaus.plexus.container < plexus.core
[DEBUG] Imported: org.codehaus.plexus.context < plexus.core
[DEBUG] Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG] Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG] Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.core
[DEBUG] Imported: org.eclipse.aether.* < plexus.core
[DEBUG] Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG] Imported: org.eclipse.aether.collection < plexus.core
[DEBUG] Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG] Imported: org.eclipse.aether.graph < plexus.core
[DEBUG] Imported: org.eclipse.aether.impl < plexus.core
[DEBUG] Imported: org.eclipse.aether.installation < plexus.core
[DEBUG] Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG] Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG] Imported: org.eclipse.aether.repository < plexus.core
[DEBUG] Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG] Imported: org.eclipse.aether.spi < plexus.core
[DEBUG] Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG] Imported: org.eclipse.aether.version < plexus.core
[DEBUG] Imported: org.fusesource.jansi.* < plexus.core
[DEBUG] Imported: org.slf4j.* < plexus.core
[DEBUG] Imported: org.slf4j.helpers.* < plexus.core
[DEBUG] Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[INFO] Error stacktraces are turned on.
[DEBUG] Message scheme: color
[DEBUG] Message styles: debug info warning error success failure strong mojo project
[DEBUG] Reading global settings from D:UserDocumentsapache_marvenmavenconfsettings.xml
[DEBUG] Reading user settings from C:UsersProfessional.m2settings.xml
[DEBUG] Reading global toolchains from D:UserDocumentsapache_marvenmavenconftoolchains.xml
[DEBUG] Reading user toolchains from C:UsersProfessional.m2toolchains.xml
[DEBUG] Using local repository at C:UsersProfessional.m2repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:UsersProfessional.m2repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project com.mycompany.app:my-app:jar:1.0-SNAPSHOT: (none)
[DEBUG] Looking up lifecycle mappings for packaging jar from ClassRealm[plexus.core, parent: null]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.445 s
[INFO] Finished at: 2017-05-05T23:05:24-03:00
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
org.apache.maven.lifecycle.NoGoalSpecifiedException: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:94)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
I would not like to run it from eclipse. I would prefer just to call on the command line mvn
, as I am currently doing.
Всем привет
Возникла необходимость в телеграм боте.
Нашел статьи как делать бота на Java.
Скачал IDEA Community Edition. Создал новый проект Maven. Создал класс и метод Main и main, соответственно, и для проверки написал туда System.out.println(«TEST»);
Запускаю проект, выдает ошибку:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.260 s
[INFO] Finished at: 2021-09-12T00:56:05+06:00
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [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 articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
Process finished with exit code 1
Гуглил эту тему — в основном у всех косяк с конкретным плагином.
В «Run/debug configurations» не добавлял ничего, создавал просто через «Add new configuration -> Maven -> OK»
Все настройки IDE (и настройки сборщика) — не трогал вообще.
Запускаю каждую фазу из Maven -> Lifecycle. Падает на «site» с ошибкой:
[WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:3.1.2
[WARNING] Error injecting: org.apache.maven.report.projectinfo.CiManagementReport
java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent
На stackoverflow увидел совет указать вручную, поэтому в POM указал версию руками:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
Просто ушел WARNING, а ошибка осталась.
POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>untitled2</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
</project>
Из-за чего такая ошибка на свеже установленной IDE и абсолютно чистом проекте без всяких плагинов?
Для maven это норм такой геморрой?:)
Потратил полдня просто чтобы запустить..
По совету из https://coderoad.ru/61056949/Запуск-файла-maven-не… указал в «Run/Debug configuration»
к конфигурации в Command line значение «deploy» и в POM указал репозиторий (путь взял file:///Users/kaktak/.m2) — не помогло, валится на «Error injecting: org.apache.maven.report.projectinfo.CiManagementReport
java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent»
PS. почему я использую Java и почему не взять конструктора ботов другой вопрос. Просто так захотел, заодно и поучу java
Структура проекта
Дерево проекта выглядит следующим образом:
-
Название проекта
-
src
-
main
- java
-
main
- target
-
pom.xml
-
src
Ошибки
Запуская Maven проект из IntelliJ IDEA можно получить следующую ошибку
plugin ‘org.apache.maven.plugins:maven-compiler-plugin:3.7.0’ not found intellij
Мне помогли следующие действия
Открыть
File → Settings → Build, Execution, Deployment → Build Tools → Maven
Поставить галочку — use plugin registry
Затем
File → Invalid Caches / Restart
И ещё я делал site → Run Maven Build
java —version
openjdk 14.0.2 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
The JAVA_HOME environment variable is not defined correctly, this environment variable is needed to run this program. windows 10
Создайте системную переменную окружения JAVA_HOME
Укажите в ней путь до jdk без bin, только до самого jdk
Добавьте в системную переменную PATH переменную JAVA_HOME и припишите к ней bin
Перезапустите терминал
No goals have been specified for this build
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
Установка Maven и PATH
ao
ao
ao
ao
ao
ao
When we started a maven project without setting the run goal then the Maven build will get failed and generate the below error «No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]«.
In this case, we have to set the maven goal e.g. clean install to successfully build and run the project or application.
Resolution
If you are running using IDE then please set the command line as mentioned below and restart the build. To set the command line with IntelliJ, please go to Run >> Edit Configurations >> Select your project >> Select Parameters tab from left >> put clean install in command line field.
Now rerun the maven build.
Error while running the Maven project.
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.882 s [INFO] Finished at: 2021-06-09T07:28:32+05:30 [INFO] ------------------------------------------------------------------------ [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [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 articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException Process finished with exit code 1
1. Обзор
В этом уроке мы рассмотрим различные жизненные циклы сборки Maven и их фазы.
Мы также обсудим основные отношения между целями и этапами.
2. Maven Build Lifecycle
Сборка Maven следует определенному жизненному циклу для развертывания и распространения целевого проекта.
Есть три встроенных жизненных цикла:
-
по умолчанию: основной жизненный цикл, так как он отвечает за проект
развертывание
** clean: очистить проект и удалить все файлы, созданные
предыдущая сборка
** site: создать документацию сайта проекта
-
Каждый жизненный цикл состоит из последовательности фаз. ** Жизненный цикл
default
сборки состоит из 23 фаз, так как это основной жизненный цикл сборки.
С другой стороны, жизненный цикл
clean
состоит из 3 фаз, а жизненный цикл
site
состоит из 4 фаз.
3. Maven Phase
-
Фаза Maven представляет собой этап жизненного цикла сборки ** Maven. Каждый этап отвечает за конкретную задачу.
Вот некоторые из наиболее важных этапов в жизненном цикле сборки
default
:
-
validate:
проверить, вся ли информация, необходимая для сборки
имеется в наличии
**
compile:
компилировать исходный код
-
test-compile:
скомпилируйте исходный код теста -
test:
запустить юнит-тесты -
package:
упаковывает скомпилированный исходный код в распространяемый формат
(баночка, война, …)
**
integration-test:
обработать и развернуть пакет, если необходимо запустить
интеграционные тесты
**
install:
установить пакет в локальный репозиторий
-
deploy:
скопировать пакет в удаленный репозиторий
Полный список фаз каждого жизненного цикла можно найти в
Maven Reference
.
Этапы выполняются в определенном порядке. Это означает, что если мы запустим определенный этап с помощью команды:
-
Это не только выполнит указанную фазу, но и все предыдущие фазы. **
Например, если мы запустим фазу
deploy
, которая является последней фазой в жизненном цикле сборки
default
, которая также выполнит все фазы до фазы
deploy
, то есть всего жизненного цикла
default
:
4. Maven Goal
-
Каждый этап представляет собой последовательность целей, и каждая цель отвечает за конкретную задачу. **
Когда мы запускаем фазу — все цели, связанные с этой фазой, выполняются по порядку.
Вот некоторые из фаз и целей по умолчанию, связанных с ними:
-
compiler: compile
— цель
compile
из плагина
compiler
привязан к фазе
compile
**
compiler: testCompile
связан с фазой
test-compile
-
surefire: test
привязан к
test
фазе -
install: install
связан с фазой
install
-
jar: jar
и
war: war
связан с фазой
package
Мы можем перечислить все цели, связанные с определенной фазой и их плагины, используя команду:
mvn help:describe -Dcmd=PHASENAME
Например, чтобы перечислить все цели, связанные с фазой
compile
, мы можем выполнить:
mvn help:describe -Dcmd=compile
И получить пример вывода:
compile' is a phase corresponding to this plugin:
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
Что, как упоминалось выше, означает, что цель
compile
из плагина
compiler
связана с фазой
compile
.
5. Плагин Maven
-
Плагин Maven — это группа целей. ** Однако эти цели не обязательно связаны с одной и той же фазой.
Например, вот простая конфигурация плагина Maven Failsafe, который отвечает за запуск интеграционных тестов:
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Как мы видим, плагин Failsafe имеет две основные цели:
-
integration-test
: запустить интеграционные тесты -
verify
: проверить все пройденные интеграционные тесты
Мы можем использовать следующую команду для
перечисления всех целей в конкретном плагине
:
Например, чтобы перечислить все цели в плагине Failsafe:
И на выходе это будет:
This plugin has 3 goals:
failsafe:help
Display help information on maven-failsafe-plugin.
Call mvn failsafe:help -Ddetail=true -Dgoal=<goal-name> to display parameter
details.
failsafe:integration-test
Run integration tests using Surefire.
failsafe:verify
Verify integration tests ran using Surefire.
-
Чтобы выполнить конкретную цель, не выполняя всю ее фазу (и предыдущие фазы) ** мы можем использовать команду:
Например, чтобы запустить
integration-test
goal из плагина Failsafe, нам нужно запустить:
mvn failsafe:integration-test
6. Создание проекта Maven
Чтобы построить проект Maven, нам нужно выполнить один из жизненных циклов, выполнив один из их этапов:
Это выполнит весь жизненный цикл
default
. Кроме того, мы можем остановиться на фазе
install
:
Но обычно мы будем использовать команду:
Чтобы очистить проект, сначала запустите жизненный цикл
clean
перед новой сборкой.
Мы также можем запустить только конкретную цель плагина:
Обратите внимание, что если мы попытались построить проект Maven без указания фазы или цели, это приведет к ошибке
----[ERROR]No goals have been specified for this build. You must specify a valid lifecycle phase or a goal
----
7. Заключение
В этой статье мы обсудили жизненные циклы сборки Maven, а также связь между фазами Maven и целями.
#java #maven #java-8 #maven-3 #java-16
Вопрос:
Я пытаюсь создать свой java-проект с помощью maven с помощью mvn package
или mvn clean install
, но я получаю эту ошибку:
[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
Проект представляет собой простой java-проект, в котором используется java 8.
Кроме того, у меня есть несколько версий java на моем компьютере. Если я запускаюсь mvn -X
, когда maven использует java 16, я получаю эту ошибку:
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 16.0.2, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-16.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-25-generic", arch: "amd64", family: "unix"
[ERROR] Error executing Maven.
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Unable to load cache item
at com.google.common.cache.LocalCache$Segment.get (LocalCache.java:2205)
at com.google.common.cache.LocalCache.get (LocalCache.java:3951)
at com.google.common.cache.LocalCache.getOrLoad (LocalCache.java:3955)
at com.google.common.cache.LocalCache$LocalLoadingCache.get (LocalCache.java:4870)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked (LocalCache.java:4876)
at com.google.inject.internal.FailableCache.get (FailableCache.java:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:481)
at org.codehaus.plexus.DefaultPlexusContainer.<init> (DefaultPlexusContainer.java:206)
at org.apache.maven.cli.MavenCli.container (MavenCli.java:636)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:282)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.IllegalStateException: Unable to load cache item
at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry (LoadingCache.java:79)
at com.google.inject.internal.cglib.core.internal.$LoadingCache.get (LoadingCache.java:34)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData.get (AbstractClassGenerator.java:116)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create (AbstractClassGenerator.java:291)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create (FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:258)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:207)
at com.google.inject.internal.DefaultConstructionProxyFactory.create (DefaultConstructionProxyFactory.java:49)
at com.google.inject.internal.ProxyFactory.create (ProxyFactory.java:156)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor (ConstructorInjectorStore.java:92)
at com.google.inject.internal.ConstructorInjectorStore.access$000 (ConstructorInjectorStore.java:29)
at com.google.inject.internal.ConstructorInjectorStore$1.create (ConstructorInjectorStore.java:37)
at com.google.inject.internal.ConstructorInjectorStore$1.create (ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.load (FailableCache.java:40)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture (LocalCache.java:3540)
at com.google.common.cache.LocalCache$Segment.loadSync (LocalCache.java:2321)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad (LocalCache.java:2284)
at com.google.common.cache.LocalCache$Segment.get (LocalCache.java:2199)
at com.google.common.cache.LocalCache.get (LocalCache.java:3951)
at com.google.common.cache.LocalCache.getOrLoad (LocalCache.java:3955)
at com.google.common.cache.LocalCache$LocalLoadingCache.get (LocalCache.java:4870)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked (LocalCache.java:4876)
at com.google.inject.internal.FailableCache.get (FailableCache.java:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:481)
at org.codehaus.plexus.DefaultPlexusContainer.<init> (DefaultPlexusContainer.java:206)
at org.apache.maven.cli.MavenCli.container (MavenCli.java:636)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:282)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate (DuplicatesPredicate.java:104)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter (CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init> (FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass (FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate (DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.generate (AbstractClassGenerator.java:329)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply (AbstractClassGenerator.java:93)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply (AbstractClassGenerator.java:91)
at com.google.inject.internal.cglib.core.internal.$LoadingCache$2.call (LoadingCache.java:54)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry (LoadingCache.java:61)
at com.google.inject.internal.cglib.core.internal.$LoadingCache.get (LoadingCache.java:34)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData.get (AbstractClassGenerator.java:116)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create (AbstractClassGenerator.java:291)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create (FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:258)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:207)
at com.google.inject.internal.DefaultConstructionProxyFactory.create (DefaultConstructionProxyFactory.java:49)
at com.google.inject.internal.ProxyFactory.create (ProxyFactory.java:156)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor (ConstructorInjectorStore.java:92)
at com.google.inject.internal.ConstructorInjectorStore.access$000 (ConstructorInjectorStore.java:29)
at com.google.inject.internal.ConstructorInjectorStore$1.create (ConstructorInjectorStore.java:37)
at com.google.inject.internal.ConstructorInjectorStore$1.create (ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.load (FailableCache.java:40)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture (LocalCache.java:3540)
at com.google.common.cache.LocalCache$Segment.loadSync (LocalCache.java:2321)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad (LocalCache.java:2284)
at com.google.common.cache.LocalCache$Segment.get (LocalCache.java:2199)
at com.google.common.cache.LocalCache.get (LocalCache.java:3951)
at com.google.common.cache.LocalCache.getOrLoad (LocalCache.java:3955)
at com.google.common.cache.LocalCache$LocalLoadingCache.get (LocalCache.java:4870)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked (LocalCache.java:4876)
at com.google.inject.internal.FailableCache.get (FailableCache.java:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:481)
at org.codehaus.plexus.DefaultPlexusContainer.<init> (DefaultPlexusContainer.java:206)
at org.apache.maven.cli.MavenCli.container (MavenCli.java:636)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:282)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Если я изменю версию java, используемую maven, на версию 1.8, я получу это:
Maven home: /usr/share/maven
Java version: 1.8.0_292, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-25-generic", arch: "amd64", family: "unix"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG] Imported: javax.annotation.* < plexus.core
[DEBUG] Imported: javax.annotation.security.* < plexus.core
[DEBUG] Imported: javax.enterprise.inject.* < plexus.core
[DEBUG] Imported: javax.enterprise.util.* < plexus.core
[DEBUG] Imported: javax.inject.* < plexus.core
[DEBUG] Imported: org.apache.maven.* < plexus.core
[DEBUG] Imported: org.apache.maven.artifact < plexus.core
[DEBUG] Imported: org.apache.maven.classrealm < plexus.core
[DEBUG] Imported: org.apache.maven.cli < plexus.core
[DEBUG] Imported: org.apache.maven.configuration < plexus.core
[DEBUG] Imported: org.apache.maven.exception < plexus.core
[DEBUG] Imported: org.apache.maven.execution < plexus.core
[DEBUG] Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG] Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG] Imported: org.apache.maven.model < plexus.core
[DEBUG] Imported: org.apache.maven.monitor < plexus.core
[DEBUG] Imported: org.apache.maven.plugin < plexus.core
[DEBUG] Imported: org.apache.maven.profiles < plexus.core
[DEBUG] Imported: org.apache.maven.project < plexus.core
[DEBUG] Imported: org.apache.maven.reporting < plexus.core
[DEBUG] Imported: org.apache.maven.repository < plexus.core
[DEBUG] Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG] Imported: org.apache.maven.settings < plexus.core
[DEBUG] Imported: org.apache.maven.toolchain < plexus.core
[DEBUG] Imported: org.apache.maven.usability < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG] Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG] Imported: org.codehaus.classworlds < plexus.core
[DEBUG] Imported: org.codehaus.plexus.* < plexus.core
[DEBUG] Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG] Imported: org.codehaus.plexus.component < plexus.core
[DEBUG] Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG] Imported: org.codehaus.plexus.container < plexus.core
[DEBUG] Imported: org.codehaus.plexus.context < plexus.core
[DEBUG] Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG] Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG] Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < plexus.core
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.core
[DEBUG] Imported: org.eclipse.aether.* < plexus.core
[DEBUG] Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG] Imported: org.eclipse.aether.collection < plexus.core
[DEBUG] Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG] Imported: org.eclipse.aether.graph < plexus.core
[DEBUG] Imported: org.eclipse.aether.impl < plexus.core
[DEBUG] Imported: org.eclipse.aether.installation < plexus.core
[DEBUG] Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG] Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG] Imported: org.eclipse.aether.repository < plexus.core
[DEBUG] Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG] Imported: org.eclipse.aether.spi < plexus.core
[DEBUG] Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG] Imported: org.eclipse.aether.version < plexus.core
[DEBUG] Imported: org.fusesource.jansi.* < plexus.core
[DEBUG] Imported: org.slf4j.* < plexus.core
[DEBUG] Imported: org.slf4j.event.* < plexus.core
[DEBUG] Imported: org.slf4j.helpers.* < plexus.core
[DEBUG] Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[INFO] Error stacktraces are turned on.
[DEBUG] Message scheme: color
[DEBUG] Message styles: debug info warning error success failure strong mojo project
[DEBUG] Reading global settings from /usr/share/maven/conf/settings.xml
[DEBUG] Reading user settings from /home/emin/.m2/settings.xml
[DEBUG] Reading global toolchains from /usr/share/maven/conf/toolchains.xml
[DEBUG] Reading user toolchains from /home/emin/.m2/toolchains.xml
[DEBUG] Using local repository at /home/emin/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /home/emin/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project org.apache.maven:standalone-pom:pom:1: (none)
[DEBUG] Looking up lifecycle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.106 s
[INFO] Finished at: 2021-08-11T16:41:45 03:00
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
org.apache.maven.lifecycle.NoGoalSpecifiedException: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:97)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
Также,
emin@meb:~$ mvn --version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.11, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-25-generic", arch: "amd64", family: "unix"
Может кто — нибудь объяснить мне причину.
Комментарии:
1. Я полагаю, что это на платформе на базе Linux, где вы установили maven через менеджер пакетов ОС? Если это так, пожалуйста, удалите установку операционной системы и установите ее отсюда: maven.apache.org/download.cgi (Просто для уверенности, можете ли вы перепроверить:
mvn --version
что именно распечатано?2. …кроме того, «Для этой сборки не было указано никаких целей», где вы в основном не указали их в командной строке, поэтому было бы здорово, если бы вы могли поделиться, какую команду вы выполнили, когда увидели эти журналы? Что-то вроде
mvn -X package
и не толькоmvn -X
.3. @Naman Это на самом деле не проблема, потому что даже если вы не укажете цель / жизненный цикл, он не должен потерпеть неудачу с таким исполнением.
4. @khmarbaise Просто для уточнения, я говорил о второй трассировке стека(требуется прокрутка сегмента кода), которую OP получил с Java-8 🙂 Я почти уверен, что, не указывая цель, которой будет этот опыт, я готов немедленно сообщить об ошибке в проекте JIRA maven 😛
5. @khmarbaise использует maven уже довольно давно, и я хорошо это знаю/благодарен за это 🙂