2014-09-19 57 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擴展使用Maven蔭我的pom.xml和剛剛進入我的測試項目的主類。

我不熟悉maven,特別是這個插件 - 任何人都可以幫忙嗎?

<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

您已經添加outputFiletransformers元素中,而不是外面:

</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> 
相關問題