Maven 2에서 아티팩트를 수동으로 설치하는 방법은 무엇입니까?


96

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

내 명령에 실수가 있습니까?


이것의 상태는 무엇입니까? 질문이 해결 되었습니까?
Matt

답변:


147

아티팩트의 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

8
항아리 또는 유사한 =을 -Dpackaging은 누락
터져 죽자

@kaboom 아니! 기본적으로 패키징은 jar이므로 명령에서 지정할 필요가 없습니다 ...
Romain Linsolas 2010-06-05

5
@romaintaz kaboom이 맞습니다. -Dpackaging = jar (또는 유형이 무엇이든)이 필요합니다. 그렇지 않으면 " '패키징'이 누락되었습니다."라는 오류가 표시됩니다.
Jack Edmonds

3
pom 파일을 제공하는 경우를 제외하고는 패키징 매개 변수가 필요한 것 같습니다. 후자의 경우 패키지 유형은 pom에서 가져옵니다.
Romain Linsolas

1
PowerShell을 사용하는 경우에도 따옴표를 사용해야합니다"-DgroupId=javax.transaction"
ankitjaininfo

38

maven의 타사 JAR 설치 가이드 에 따르면 명령은 다음과 같습니다.

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

실제로 포장 옵션이 필요합니다. 이것은 원래 질문에 대한 대답입니다.

이제 당신의 맥락에서, 당신은 썬이 제공 한 항아리와 싸우고 있습니다. Coping with Sun JARs 페이지도 읽어야합니다 . 이, 당신이 도움을 받는다는에 일 단지 위치와 방법 Java.net 추가하는 방법에 대해 더 나은 정보를 제공하는 방법을 학습합니다 메이븐 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

포장을 추가해야했기 때문에 :

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

jar 파일을 수동으로 설치하는 데 많은 문제가 있었는데 정확히 이런 식으로 입력 할 때까지 계속 실패했습니다. 이제 작동합니다!
gregturn


4

Windows PowerShell을 사용할 때 비슷한 오류가 발생하면 Windows의 간단한 명령 줄을 시도해야합니다. 원인을 찾지 못했지만 PowerShell은 Maven의 매개 변수 중 일부를 해석하는 것 같습니다.


위의 S. Bollweber 답변을보십시오. 그리고 적어도 TakeCommand는 동일한 bahaviour를 표현합니다.
Martin

1
내 대답을 반대 할 이유가 없습니다. S. Bollweber는 몇 달 후에 대답했습니다.
Koraktor 2010

2

게시 된 모든 답변은 엄격하게 maven 관점에서 이것을 정당하게 논의합니다. 내 문제는 Netbeans를 기본 IDE로 사용하여 maven에 대해이 설치를 수행하는 것입니다. 아래 기사가 도움이된다는 것을 알았습니다.

다음 netbeans 포럼 기사에 대한 크레딧 : http://forums.netbeans.org/topic22907.html

  1. Maven 프로젝트에서 "종속성 추가"대화 상자를 엽니 다.
  2. groupId, artifactId 및 version을 만들고 채우십시오.
  3. 종속성이 pom.xml에 추가되고 maven 프로젝트의 "Libraries"노드 아래에 나타납니다.
  4. Lib 노드를 마우스 오른쪽 단추로 클릭하고 "수동으로 아티팩트 설치"를 클릭하고 jar 경로를 채우십시오. 2 단계에서 입력 한 좌표를 사용하여 로컬 Maven 저장소에 Jar를 설치해야합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.