Как вручную установить артефакт в Maven 2? - PullRequest
91 голосов
/ 14 января 2009

Я столкнулся с некоторыми ошибками при попытке установить артефакт вручную с помощью Maven 2. Я хотел установить jar из локального каталога с помощью команды

mvn install:install-file -Dfile=jta-1.0.1B.jar

Но Maven выдал ошибку сборки, которая выглядит так:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

Ошибка в моей команде?

Ответы [ 6 ]

143 голосов
/ 14 января 2009

Вам нужно указать groupId, artifactId и версию для вашего артефакта:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true
37 голосов
/ 14 марта 2009

Согласно руководству по установке maven сторонних разработчиков, команда:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

Вам действительно нужен вариант упаковки. Это отвечает на оригинальный вопрос.

Теперь, в вашем контексте, вы боретесь с банкой, предоставленной Sun. Вам также следует прочитать страницу Как справиться с Sun JAR . Там вы узнаете, как помочь maven предоставить вам более подробную информацию о расположении jar-файлов Sun и как добавить репозиторий Java.net Maven 2 , который содержит jta-1.0.1B.jar. Добавьте это в settings.xml (не переносимый) или pom.xml (переносной):

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>
13 голосов
/ 03 марта 2009

Мне пришлось добавить упаковку, поэтому:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar
8 голосов
/ 27 сентября 2010

Ответ - вырваться из черты!

http://www.mail-archive.com/users@maven.apache.org/msg83991.html

4 голосов
/ 14 мая 2010

Если вы когда-либо сталкивались с подобными ошибками при использовании Windows PowerShell, вам следует попробовать простую командную строку Windows. Я не выяснил, что вызвало это, но PowerShell, похоже, интерпретирует некоторые параметры Maven.

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

Все опубликованные ответы по праву обсуждают это со строгой точки зрения. Мои проблемы заключались в выполнении этой установки для maven с использованием Netbeans в качестве основного IDE. Я нашел следующую статью полезной.

Автор статьи netbeans: http://forums.netbeans.org/topic22907.html

  1. В проекте Maven откройте диалоговое окно «Добавить зависимость»
  2. Создайте несколько groupId, artifactId и version и заполните их, ОК.
  3. Зависимость будет добавлена ​​в pom.xml и появится в Узел "Библиотеки" проекта maven
  4. Щелкните правой кнопкой мыши узел Lib и "вручную установите артефакт", введите путь к банке. Jar должен быть установлен в локальный репозиторий Maven с координаты, введенные в шаге 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...