2014-09-19 3 views
1

의 인스턴스를 만들 수 없습니다. Maven Shade를 처음 사용하려고하는데 막혔습니다.Maven Shade Plugin :

 Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.3: 
    shade for parameter outputFile: Cannot create instance of interface org.apache.maven.plugins.shade.resource.ResourceTransformer: 
org.apache.maven.plugins.shade.resource.ResourceTransformer.<init>() -> [Help 1] 

내가 내 pom.xml 파일에 메이븐-그늘을 사용하는 pom.xml 파일-연장이 템플릿을 추가하고 내 테스트 프로젝트의 메인 클래스를 입력 : 나는라는 오류 메시지를 얻을.

나는이 플러그인으로 메이븐에 익숙하지 않다. 특히이 플러그인으로 도움이 될 수 있을까?

<build> 
<plugins> 
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-shade-plugin</artifactId> 
<version>2.3</version> 
<executions> 
    <execution> 
    <phase>package</phase> 
    <goals> 
    <goal>shade</goal> 
    </goals> 
    <configuration> 
    <transformers> 
    <!-- Set the main class of the executable JAR --> 
     <transformer 
     implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
     <mainClass>de.mavenShadeTest.MyMain</mainClass> 
     </transformer> 
    <!-- Merge the uimaFIT configuration files --> 
    <transformer 
    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
    <resource> 
    META-INF/org.apache.uima.fit/fsindexes.txt 
    </resource> 
    </transformer> 
    <transformer 
    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
    <resource> 
    META-INF/org.apache.uima.fit/types.txt 
    </resource> 
    </transformer> 
    <transformer 
    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
    <resource> 
    META-INF/org.apache.uima.fit/typepriorities.txt 
    </resource> 
    </transformer> 
<!-- Prevent huge shaded artifacts from being deployed to a Maven 
repository (remove if not desired) --> 
<outputFile> 
${project.build.directory}/${artifactId}-${version}-standalone.jar 
</outputFile> 
</transformers> 
</configuration> 
</execution> 
</executions> 
</plugin> 
</plugins> 
</build> 

답변

1

당신은 오히려 외부보다는 transformers 요소 내에 outputFile를 추가했습니다 :

</transformer> 
<!-- Prevent huge shaded artifacts from being deployed to a Maven 
repository (remove if not desired) --> 
<outputFile> 
${project.build.directory}/${artifactId}-${version}-standalone.jar 
</outputFile> 
</transformers> 
</configuration> 

이동을 외부가 configuration 바로 아래에, 그래서 :

</transformers> 
<outputFile> 
${project.build.directory}/${artifactId}-${version}-standalone.jar 
</outputFile> 
</configuration> 
관련 문제