Maven: пакет mvn clean и mvn запускается отдельно, но вместе дает - PullRequest
0 голосов
/ 12 июня 2018

У меня есть многомодульный проект.Если я запускаю команду mvn clean, а затем mvn package, то все работает нормально.Однако, если я использую команду mvn clean package, я начинаю получать ошибку.

В pom зависимостей я устанавливаю файл в localrepo, и эта цель связана с чистой фазой.Банки, установленные в localrepo (во время чистой фазы), понадобятся на фазе пакета.

Если я сначала запускаю mvn clean, то в localrepo успешно создаются артефакты.Однако, когда я запускаю mvn clean package, localrepo становится пустым.

Я что-то не так делаю?Меняет ли maven порядок выполнения аргументов, т. Е. mvn clean package не будет принудительно запускать очистку перед пакетом?

Структура проекта:

Parent

--- приложение

--- зависимость

Зависимость пом

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
                <execution>
                    <id>add-myjar</id>
                    <phase>clean</phase>
                    <configuration>
                        <file>D:/myjar.jar</file>
                        <repositoryLayout>default</repositoryLayout>
                        <groupId>com.xyz</groupId>
                        <artifactId>myjar</artifactId>
                        <version>1.0</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                        <localRepositoryPath>D:/localrepo</localRepositoryPath> 
                    </configuration>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                </execution>
            </plugin>
        </plugins>
<build/>

родительpom:

<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.cadence</groupId>
  <artifactId>maven</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

  <name>maven</name>

  <modules>   
    <module>dependency</module>
   <!-- <module>application</module> -->
  </modules>

  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>    
  </properties>
</project>

(pom приложения не требуется, так как в модуле зависимости возникает ошибка.)

Журнал ошибок: (Ошибка проста -при запуске mvn clean package не удалось установить jar в localrepo, так что jar не может быть найден. Я не уверен, что прикрепление этих журналов пойдет на пользу, так как они показывают последствия данной проблемы, то есть mvn clean package не выполняетцель установки привязана к чистой фазе.)

[INFO] Включены трассировки стека ошибок.[INFO] Сканирование проектов ... [INFO] ------------------------------------------------------------------------ [ИНФО] Порядок сборки реактора: [ИНФО] [ИНФО] maven
[pom] [INFO] зависимость
[jar] [INFO] [INFO] -------------------------

-------------------------- [INFO] Building maven 1.0 [1/2] [INFO]-------------------------------- [pom] --------------------------------- [INFO] [INFO] --- плагин maven-clean: 2.5: clean (очистка по умолчанию) @ maven --- [INFO] [ИНФОРМАЦИЯ] ----------------------- ----------------------- [INFO] Построение зависимости 1.0
[2/2] [INFO] -------------------------------- [jar] --------------------------------- Загрузка из локального репозитория: file:///D:/localrepo/com/xyz/myjar/1.0/myjar-1.0.pom [ПРЕДУПРЕЖДЕНИЕ] POM для com.xyz:myjar:jar:1.0 отсутствует, информация о зависимостях недоступна Загрузка из local-maven-repo: file: /// D: /localrepo/com/xyz/myjar3/1.0/myjar3-1.0.pom [ВНИМАНИЕ] POM для com.xyz:myjar3: jar: 1.0 отсутствует, информация о зависимостях недоступна Загрузка из local-maven-repo: file: /// D: /localrepo/com/xyz/myjar2/1.0/myjar2-1.0.pom [ПРЕДУПРЕЖДЕНИЕ] POM для com.xyz: myjar2: jar: 1.0 отсутствует, информация о зависимостях отсутствует. Загрузка из local-maven-repo: file: /// D: /localrepo/com/xyz/myjar/1.0/myjar-1.0.jar Загрузка из local-maven-repo: file: /// D: /localrepo/com/xyz/myjar2/1.0/myjar2-1.0.jar Загрузка из local-maven-repo: file: /// D: / localrepo / com / xyz / myjar3/1.0/myjar3-1.0.jar [INFO] ------------------------------------------------------------------------ [INFO] Описание реактора: [INFO] [INFO] maven 1.0 .......................................... УСПЕХ [0.212 с] [ИНФО] зависимость 1.0..................................... СБОЙ [2.874 с] [ИНФО] ------------------------------------------------------------------------ [INFO] СБОЙ СТРОИТЕЛЬСТВА [INFO] ------------------------------------------------------------------------ [INFO] Всеговремя: 3.310 с [INFO] Готовоed: 2018-06-12T12: 23: 25 + 05: 30 [ИНФО] ------------------------------------------------------------------------ [ОШИБКА] Не удалось выполнить цель по проектуЗависимость: Не удалось разрешить зависимости для проекта com.xyz:dependency:jar:1.0: Не удалось разрешить следующие артефакты: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0, com.xyz:myjar2: jar: 1.0: не могу найтиАртефакт com.xyz:myjar:jar:1.0 в local-maven-repo (файл: /// D: / localrepo) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: не удалось выполнить цель в зависимости от проекта: Не удалось разрешить зависимости для проекта com.xyz:dependency:jar:1.0: Не удалось разрешить следующие артефакты: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0, com.xyz:myjar2: jar: 1.0: Не удалось найти артефакт com.xyz:myjar:jar:1.0 в local-maven-repo (файл: /// D: / localrepo) в org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:269) в org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147) в org.apache.maven.lifecycle.internal.MjojoRecence) (MojExgenex).apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:200) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) в илиg.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) в org.apache.maven.life.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) в org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) в org.apache.tarternal.life.cycleвыполнить (LifecycleStarter.java:128) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) в org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) в org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) в орг.apache.maven.cli.MavenCli.main (MavenCli.java:194) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:606) в org.la.laserher.launchEnhanced (Launcher.java:289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode: La4her.java) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Причина: org.apache.maven.project.DependencyResolutionException: Не удалось разрешить зависимости для проекта com.xyz:dependency:jar:1.0: Не удалось устранить следующие артефакты: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0, com.xyz:myjar2:jar:1.0: Не удалось найти артефакт com.xyz:myjar:jar: 1.0 в локальном репозитории maven (файл: /// D: / localrepo) в org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:208) в org.apache.maven.lifecycle.internal.MojoExecutor.java:246) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:200) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) в орг..apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)по адресу org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) по адресу org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:ache at orvengasemacycle.java:ache at or org.cycle at orvengachemacycle.javagash.mase.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) в org.apache.maven.DefaultMaven.doExecute.java: 305) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) в org.apache.maven.cli.MavenCli.выполнить (MavenCli.java:956) в org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) в org.apache.maven.cli.MavenCli.main (MavenCli.java:194) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:606) в org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289us) или.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworldauncher.classworldauncher..main (Launcher.java:356) Причина: org.eclipse.aether.resolution.DependencyResolutionException: следующие артефакты не могут быть разрешены: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0,com.xyz:myjar2:jar:1.0: не удалось найти артефакт com.xyz:myjar:jar:1.0 в локальном репозитории maven (файл: /// D: / localrepo) в org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:355) в org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:202) в org.apache.maven.Lifeife.ternalcycle.ternalncyResolver.getDependencies (LifecycleDependencyResolver.java:243) в org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147jojoe246) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:200) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) на org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) на org.apache.maven.lifecycle.MildBject(LifecycleModuleBuilder.java:81) в org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) в org.apache.maven.lifecycle.internal.LifecycleStarter.extartejSysterSize: 128) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) в org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) в org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) в org.apache.maven.cli.MavenCli.main (MavenCli)..java: 194) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodlmpв java.lang.reflect.Method.invoke (Method.java:606) в org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Вызывается: org.eclipse.aether.resolution.ArtifactResolutionException: Не удалось разрешить следующие артефакты: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0, com.xyz:myjar2:jar:1.0: Не удалось найти артефакт com.xyz:myjar:jar:1.0 в локальном репозитории (файл: /// D: / localrepo) в org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java): 422) в org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:224) в org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (по умолчанию)rg.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:202) в org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResapache.ava.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147) в org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:246) Mog.javaExec200) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) в org.apache.ternal.life.aded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java55)в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) в org.apache.maven.cli.MavenCli.execute (MavenCli.java): 956) в org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) в org.apache.maven.cli.MavenCli.main (MavenCli.java:194) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.vof:в org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356), вызванный: org.eclipse.aethert.ArtifactNotFoundException: не удалось найти артефакт com.xyz:myjar:jar:1.0 в local-maven-repo (файл: /// D: / localrepo) в org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.: 48) в org.eclipse.aether.connector.basic.BasicRepositoryConnector $ TaskRunner.run (BasicRepositoryConnector.java:365) в org.eclipse.aether.util.concurrency.RunnableErrorForwarder $ 1.run(RunnableErrorForwarder.java:75) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java.6lan.6: 6).run (Thread.java:744) [ОШИБКА] [ОШИБКА] Перезапустите Maven, используя ключ -X, чтобы включить полное ведение журнала отладки.[ОШИБКА] [ОШИБКА] Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, прочитайте следующие статьи: [ОШИБКА] [Помощь 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException [ОШИБКА] [ОШИБКА] После устранения проблем вы можете возобновитьсборка с помощью команды [ERROR] mvn -rf: dependency Системе не удается найти указанный путь.

1 Ответ

0 голосов
/ 12 июня 2018

Используйте mvn install (если указанные файлы являются проектами maven), чтобы установить следующие файлы в вашем локальном репо, которые на самом деле отсутствуют.Вы также можете явно скопировать их в .m2/repository

Не удалось выполнить цель в зависимости от проекта: не удалось разрешить зависимости для проекта com.xyz:dependency:jar:1.0: не удалось разрешить следующие артефакты: com.xyz:myjar:jar:1.0, com.xyz:myjar3:jar:1.0, com.xyz:myjar2:jar:1.0: не удалось найти артефакт com.xyz:myjar:jar:1.0 в локальном репозитории maven(file: /// D: / localrepo) -> [Help 1]

Используйте https://cwiki.apache.org//confluence/display/MAVEN/DependencyResolutionException, как предложено самим maven для разрешения зависимостей

Добавьтеконфигурации для пакета также, если вашим репо по умолчанию является D: // myRepo

<phase>package</phase>
                    <configuration>
                        <file>D:/myjar.jar</file>
                        <repositoryLayout>default</repositoryLayout>
                        <groupId>com.xyz</groupId>
                        <artifactId>myjar</artifactId>
                        <version>1.0</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                        <localRepositoryPath>D:/localrepo</localRepositoryPath> 
                    </configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...