`
Josh_Persistence
  • 浏览: 1653635 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

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>  

 

 

 

1
1
分享到:
评论

相关推荐

    Java项目后台打包jar包执行报错“没有主清单属性”

    在Java开发过程中,将项目打包成可执行的jar文件是一项常见的任务,这使得代码可以方便地在不同环境中部署和运行。然而,有时在打包过程中可能会遇到一些错误,比如"没有主清单属性"。这个错误表明jar文件缺少了必要...

    Maven 项目生成jar运行时提示“没有主清单属性”

    Maven 项目生成 jar 运行时提示“没有主清单属性”详解 Maven 项目生成 jar 运行时提示“没有主清单属性”是一个常见的问题,特别是在使用 Maven 打包 jar 文件时。今天,我们将详细介绍这个问题的解决方案。 什么...

    Spring Boot jar中没有主清单属性的解决方法

    该插件能够帮助开发者正确地构建包含必要主清单属性的可执行jar文件。具体来说,Spring Boot Maven插件会在构建过程中向MANIFEST.MF文件添加以下关键属性: - `Main-Class`: 指定jar包的入口程序,对于Spring Boot...

    Maven打包jar包没有主属性问题解决方案

    Maven打包jar包没有主属性问题解决方案 Maven是一款流行的Java项目构建工具,广泛应用于大多数Java项目的构建和管理中。然而,在使用Maven进行项目构建时,经常会遇到一些问题,例如,Maven打包jar包没有主属性的...

    可执行jar文件.以及执行命令

    可执行JAR(Java Archive)文件是Java编程语言中的一种打包格式,用于集合多个类文件、资源和其他相关文件,形成一个单一的可分发单元。它不仅方便了代码的组织和传输,还允许我们直接运行Java应用程序,无需显式...

    jar包-JavaWeb所用到的jar包

    3. **执行JAR文件**: - `java -jar jarfilename`命令可以运行包含主类信息的JAR文件。 - 如果JAR内没有主类或者需要动态指定主类,可以使用`java -cp jarfilename MainClassName`。 4. **Web应用中的JAR包**: ...

    【绝对可行,解决404】jfinal项目打包成jar在控制台运行方法

    在IT行业中,开发Java应用程序时,常常需要将项目打包成可执行的JAR(Java Archive)文件,以便在没有开发环境的机器上运行。对于基于JFinal的Web应用,这个过程可能会遇到一些挑战,因为JFinal是轻量级的Java Web...

    如何生成jar包

    另外,`-C`参数在创建和更新JAR包时可以用来切换到指定目录下执行jar命令,不过在示例中并没有使用。 最终,生成JAR包后,可以通过Java命令来运行JAR文件。假设清单文件中定义了主类,可以简单地使用命令:`java -...

    Springboot jar主清单属性丢失解决方案

    在 Spring Boot 项目中,经常会出现 jar 主清单属性丢失的问题,这个问题会导致项目无法正常运行。本文将详细介绍解决这个问题的方案,并对相关的知识点进行详细的解释。 依赖 Spring Boot 的父项目 在解决 jar 主...

    SpringBoot没有主清单属性的解决方法

    主清单属性(Main-Class)是Java可执行jar文件的关键部分,它指定了应用程序的入口点。在Spring Boot中,这个属性通常由`spring-boot-maven-plugin`插件自动生成并添加到MANIFEST.MF文件中。下面我们将详细探讨这个...

    ant脚本编译jar

    `&lt;manifest&gt;`部分用于添加`JAR`的清单文件,`Main-Class`属性指定了程序的主类,使得`JAR`可以作为可执行文件运行。 在实际项目中,可能还需要其他任务,比如清理(`clean`)构建输出,或者进行单元测试(`junit`)...

    可执行的jar全教程

    提供的demo是一个实际的可执行JAR项目,可以用来学习和理解如何构造和运行这样的程序。通过分析和运行这个示例,开发者能够更好地理解如何将Java应用打包成可执行文件。 7. **注意事项**: - 确保JAR文件中的所有...

    jar包集合i-p.rar

    通过设置构建路径并指定主类,可以生成包含所有依赖的可执行JAR。 3. **运行JAR文件** 使用`java -jar`命令可以执行包含主类的JAR文件,例如:`java -jar myapp.jar`。如果JAR文件包含 Manifest 文件且指定了Main-...

    多个jar包合并成一个jar包的办法

    在软件开发过程中,经常需要将多个JAR包合并成一个JAR包,以方便管理和部署。本文将详细介绍如何实现这一过程,并提供具体的操作步骤和技术细节。 ### 一、概述 在Java开发中,项目通常会依赖多个外部库或模块,...

    java_made-Jar-and-exe-file.rar_jar exe_made

    Java编程语言以其跨平台的特性深受开发者喜爱,但有时我们需要将Java程序打包成可执行的文件,以便在没有Java环境的计算机上运行。本主题主要关注如何将Java项目打包成JAR(Java Archive)文件以及进一步转换为EXE...

    fatjar+如何把java工程打成可执行的jar步骤

    总结起来,fatjar是Java开发者的一个实用工具,它简化了将Java项目打包为可执行JAR的过程,使得应用程序的分发和运行更加便捷。了解并掌握fatjar的使用,能提高开发效率,特别是对于那些希望快速部署和分享Java小...

    如何生成可执行jar文件

    在Java编程环境中,生成可执行JAR(Java Archive)文件是一项常见的任务,它允许我们将类文件、资源和其他依赖项打包成一个独立的可执行文件。这样,用户无需安装Java环境,只需双击JAR文件即可运行程序。以下是生成...

    java开发常用jar包

    - **执行入口**:Java命令行可以通过指定JAR的Main-Class属性来执行JAR内的主程序。 2. **创建JAR文件**: - 使用`jar`命令行工具,如`jar cf jarfilename.jar ClassFilesDir`。 - 使用IDE集成功能,如Eclipse的...

    以包创建可执行JAR1

    下面我们将详细探讨如何按照标题“以包创建可执行JAR1”的描述,完成这个过程。 首先,我们需要理解Java项目的基本结构。在Java中,我们通常使用包(package)来组织源代码,以便于管理类和防止命名冲突。例如,...

Global site tag (gtag.js) - Google Analytics