Как вручную установить артефакт в Maven 2?

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

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

Есть ли ошибка с моей командой?

Ответ 1

Вам нужно указать 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

Ответ 2

В соответствии с maven Руководство по установке сторонних JAR, команда:

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

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

Теперь, в вашем контексте, вы сражаетесь с банкой, предоставляемой Sun. Вы должны прочитать страницу Сопоставление с Sun JARs". Там вы узнаете, как помочь maven предоставить вам лучшую информацию о местоположении баннеров 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>

Ответ 3

Пришлось добавить упаковку, так что:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar

Ответ 5

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

Ответ 6

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

Приобретите следующую статью форума netbeans: http://forums.netbeans.org/topic22907.html

  • В проекте Maven открыть диалог "Добавить зависимость"
  • Составьте некоторые groupId, artifactId и версию и заполните их, ОК.
  • Зависимость будет добавлена ​​в pom.xml и появится в "Библиотеки" node проекта maven
  • Щелкните правой кнопкой мыши Lib node и "вручную установите артефакт", заполните путь  к банке. Ящик должен быть установлен на локальное репозиционирование Maven с помощью  координаты, введенные на шаге 2)