2009-09-16 3 views
6
우리가 컴파일하고 JAR을 만들려고하는 경우 pom.xml에서

는 이름메이븐 기본 구분

<artifactId>-<version>.jar 

기본 구분 기호를 변경할 수있는 속성 또는 설정이 거기로 이동합니다 '-'로 다른 것?

jar 파일을 만든 후 (또는 finalName을 사용하여) 이름을 바꿀 수 있다는 것을 알고 있습니다. 나는 다른 누군가가 이것을 시도하고 성공했는지 의아해하고 있었다.

미리 감사드립니다.

답변

9

필자는 분리 기호를 변경하는 방법을 모른다. 그러나 당신은 그 pom에 finalName 요소를 설정하여 jar가 그 이름의 대상 디렉토리에 출력되도록 할 수 있습니다. 예를 들면 :

<build> 
    ... 
    <finalName>${project.artifactId}_${project.version}</finalName> 
    <!--this is the default value 
    <finalName>${artifactId}-${version}</finalName--> 
    ... 

그것은 관계없이 finalName 요소에 설정 무엇을, 이슈가 여전히 기본 이름으로 저장소에 배포/설치 될 것을 주목할 가치가있다.

Pascal 주석으로 처리 되었기 때문에 설치/배포 된 아티팩트에 대한 규칙을 재정의하면 종속성 메커니즘에 문제가 발생할 수 있지만 (여전히 작동하지만 협약의 이점은 손실 될 수 있음) 유연성면에서 이점이 누적 될 수 있습니다 으로 설정이 복잡하고 복잡해졌습니다. 이는 충분히 복잡합니다.

+0

도움 주셔서 감사합니다. 나는 copy 나 finalName을 사용하지 않고 방법에 대해 궁금해했다. – vpram86

+0

어셈블리를 사용하여 추가 jar를 만들 수도 있습니다.하지만 결국 어셈블리 구성에서 finalName 요소를 지정해야합니다. http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html –

+3

이슈가 여전히 기본 이름으로 저장소에 설치/배치되었거나 종속성을 깨뜨리는 것은 좋은 일입니다 해상도 메커니즘. TBH,이 컨벤션을 변경할 시점이 보이지 않습니다 ... –