Как вручную установить артефакт в Maven 2?
Я столкнулся с некоторыми ошибками при попытке установить артефакт вручную с помощью 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 ответов
Вам нужно указать 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
В соответствии с Руководством maven по установке сторонних JAR, эта команда:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
Вам действительно нужен вариант упаковки. Это отвечает на оригинальный вопрос.
Теперь, в вашем контексте, вы боретесь с банкой, предоставленной Sun. Вам также следует прочитать страницу " Как справиться с Sun JAR". Там вы узнаете, как помочь maven предоставить вам более подробную информацию о расположении Sun jars и как добавить репозиторий 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>
Пришлось добавить упаковку, так что:
mvn install:install-file \
-DgroupId=javax.transaction \
-DartifactId=jta \
-Dversion=1.0.1B \
-Dfile=jta-1.0.1B.jar \
-DgeneratePom=true \
-Dpackaging=jar
Ответ вырваться из тире!
http://www.mail-archive.com/users@maven.apache.org/msg83991.html
Если вы когда-либо сталкивались с подобными ошибками при использовании Windows PowerShell, вам следует попробовать простую командную строку Windows. Я не выяснил, что вызвало это, но PowerShell, похоже, интерпретирует некоторые параметры Maven.
Все опубликованные ответы по праву обсуждают это со строгой точки зрения. Мои проблемы заключались в выполнении этой установки для maven с использованием Netbeans в качестве основного IDE. Я нашел следующую статью полезной.
Благодарим следующую статью на форуме NetBeans: http://forums.netbeans.org/topic22907.html
- В проекте Maven откройте диалог "Добавить зависимость"
- Создайте несколько groupId, artifactId и version и заполните их, ОК.
- Зависимость будет добавлена в pom.xml и появится в разделе "Библиотеки" проекта maven.
- Щелкните правой кнопкой мыши узел Lib и "вручную установите артефакт", заполните путь к банке. Jar должен быть установлен в локальный репозиторий Maven с координатами, введенными в шаге 2)