Невозможно установить локальный артефакт maven в удаленный репозиторий, google-android-maps - PullRequest
14 голосов
/ 18 февраля 2012

Я нахожусь в процессе настройки среды сборки Jenkins для сборки моих проектов Android.По большей части все в порядке, однако есть некоторые зависимости, которые недоступны в центральном репозитории, такие как API Карт Google Android, поэтому мне нужно установить его в свой удаленный репозиторий вручную.У меня есть эти установки для моего локального репозитория с использованием mvn install, и это прекрасно работает.

Я провел некоторое прибегание к гуглу и имею следующую конфигурацию, но я вижу следующие ошибки, когда япопробуйте развернуть банку карт в моем удаленном репо.

mvn deploy:deploy-file -DgroupId=com.google.android.maps -DartifactId=maps -Dversion=8_r1 -Dpackaging=jar -Dfile=C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar -DrepositoryId=cloudbeesreleases -Durl=https://repository-myusername.forge.cloudbees.com/release/

, и я вижу это:

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-deploy-plugin:2.5:deploy-file (default-cli) @ standalone-pom ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.450s
[INFO] Finished at: Sat Feb 18 17:01:06 GMT 2012
[INFO] Final Memory: 4M/92M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    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:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    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)
Caused by: org.apache.maven.plugin.MojoFailureException: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar
    at org.apache.maven.plugin.deploy.DeployFileMojo.execute(DeployFileMojo.java:211)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
[ERROR] 
[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/MojoFailureException

В моем settings.xml

* 1012 есть следующее*

У меня что-то неправильно настроено, или я совершенно не понимаю, как deploy должен работать?

Ответы [ 3 ]

18 голосов
/ 20 февраля 2012

Сообщение об ошибке кажется простым.

Невозможно развернуть артефакт из локального репозитория: ...

Можно попробовать развернуть файл, поместив его в другое место?Также это обсуждение , похоже, относится к той же проблеме и утверждает, почему существует проблема.

2 голосов
/ 05 апреля 2019

Соединение ответа Рагурама и комментария neu242 было для меня решением. Для ясности:

cp ~/.m2/repository/path/to/jar/api-1.0-SNAPSHOT.jar /tmp/.
mvn deploy:deploy-file -DgroupId=com.mygroup -DartifactId=api -Dversion=1.0-SNAPSHOT -Durl=file:./local-maven-repo/ -DrepositoryId=local-maven-repo -DupdateReleaseInfo=true -Dfile=/tmp/api-1.0-SNAPSHOT.jar -Dpackaging=jar
0 голосов
/ 18 февраля 2012

Несколько вещей, которые нужно попробовать: Используйте параметр settings, чтобы убедиться, что используется правильный файл настроек, есть несколько с иерархией.

--settings <arg>

Говорит ли вывод журнала что-то вроде загрузкиhttp: // ..... правильный URL-адрес и что вы ожидаете?

Есть ли возможность загрузить их вручную с помощью внешнего интерфейса sonatype?

В файле настроек также есть тег сервера:

<server>
  <id>deploymentRepo</id>
  <username>repouser</username>
  <password>repopwd</password>
</server>

В docs написано "Идентификатор сервера для сопоставления в разделе" settings.xml ", поэтому я предполагаю, что он не будет работать безсоответствующая конфигурация сервера.

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