Maven运行可执行jar包 - 没有主清单属性

             使用如下命令打了一个Maven可执行Jar包,被告知没有主清单属性:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-shade-plugin</artifactId>
     <version>2.1</version>
     <executions>
	<execution>
	     <phase>package</phase>
		<goals>
		<goal>shade</goal>
		</goals>
	      <configuration>
		<transformers>
		  <transformer
	implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
		<resource>META-INF/spring.handlers</resource>
		</transformer>
		<transformer
	implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
		<resource>META-INF/spring.schemas</resource>
	</transformer>
	</transformers>

	<filters>
	  <filter>
		<artifact>*:*</artifact>
	        <excludes>
		<exclude>META-INF/*.SF</exclude>
		<exclude>META-INF/*.DSA</exclude>
		<exclude>META-INF/*.RSA</exclude>
		</excludes>
	</filter>
	</filters>
	</configuration>
	</execution>
       </executions>
</plugin>

其原因是没有加入mainclass的transformer,加上重新执行mvn clean install -DskipTests生成的Jar包即可。

<plugin>  
     <groupId>org.apache.maven.plugins</groupId>  
     <artifactId>maven-shade-plugin</artifactId>  
     <version>2.1</version>  
     <executions>  
    <execution>  
         <phase>package</phase>  
        <goals>  
        <goal>shade</goal>  
        </goals>  
          <configuration>  
        <transformers>  
          <transformer  
    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
        <resource>META-INF/spring.handlers</resource>  
        </transformer>  
        <transformer  
    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
        <resource>META-INF/spring.schemas</resource>  
    </transformer>  
    <transformer  
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
    <mainClass>com.chuanliu.c11.bootstrap.C11SearcherBootStrap</mainClass>  
    </transformer>  
    </transformers>  
  
    <filters>  
      <filter>  
        <artifact>*:*</artifact>  
            <excludes>  
        <exclude>META-INF/*.SF</exclude>  
        <exclude>META-INF/*.DSA</exclude>  
        <exclude>META-INF/*.RSA</exclude>  
        </excludes>  
    </filter>  
    </filters>  
    </configuration>  
    </execution>  
       </executions>  
</plugin>  

猜你喜欢

转载自josh-persistence.iteye.com/blog/2262106