2016-08-12 4 views
1

maven-assembly-plugin을 사용하여 tar.gz 아카이브를 만듭니다. 이제 해당 아카이브에 파일을 포함해야합니다. 이것들은 평범한 오래된 텍스트 파일 일 뿐이며 컴파일 타임이나 (단위) 테스트 시간이 아닌 런타임시의 의존성입니다.Maven : JAR 이외의 종속성 추가

필자는이 파일에 대한 종속성을 추가하는 것에 대해 생각했지만 이러한 파일은 메이븐 저장소에 저장되지 않지만 단순 제거 폴더에 저장됩니다. 악화시키기 위해서이 폴더는 암호로 보호되어 있습니다. 사전 빌드 단계에서이 암호로 보호 된 파일을 로컬 폴더에 다운로드 할 수있었습니다. 그러나 어셈블리에서 이러한 파일을 사용하는 문제는 여전히 있습니다. 또한, 이것은 피하고 싶은 추가 작업입니다.

그렇게 할 방법이 있습니까?

+0

원격 폴더에서 파일을 다운로드하고 압축하면 왜 Maven에서 그 작업을 수행하려고합니까? –

+0

@AssenKolov 빌드, 테스트 및 Maven으로 압축 된 아카이브에 외부 파일을 포함하고 싶습니다. – Christoph

+0

파일을 maven 작업에서 어셈블리로 게시하고 최종 zip을 빌드하는 빌드 후 단계 스크립트를 가질 수 있습니다. –

답변

0

이러한 파일을 다운로드 할 수있는 경우 회피 암호를 사용하십시오. 아마도 이것이 도움이 될 것입니다. 당신이 그런 식으로 뭔가를 어디에 두
는 모드 조립 프로젝트를 만듭니다 :

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> 
<id>${artifact.version}</id> 
<formats> 
    <format>zip</format> 
</formats> 
<includeBaseDirectory>false</includeBaseDirectory> 
<dependencySets> 
    <dependencySet> 
     <useProjectArtifact>false</useProjectArtifact> 
     <useTransitiveDependencies>true</useTransitiveDependencies> 
     <unpack>false</unpack> 
     <excludes> 
      <exclude>${project.groupId}:*:*</exclude> 
     </excludes> 
     <outputFileNameMapping>project${timestamp}_code-${artifact.name}.${artifact.extension}</outputFileNameMapping> 
    </dependencySet> 
</dependencySets> 
<fileSets> 
    <fileSet> 
     <includes> 
      <include>readme.txt</include> <!-- here's that plain file --> 
     </includes> 
    </fileSet> 
</fileSets> 

당신은 파일 세트에서 해당 파일을 포함 할 수 있습니다. http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/filtering-some-distribution-files.html 자세한 내용은