精华内容
下载资源
问答
  • jar包中没有主清单属性如何解决

    千次阅读 2020-06-28 12:28:37
    在使用maven打包项目的时候,mvn clean package ,报了一个jar包中没有主清单属性如何解决错误;很明显是没有指定mainClass 解决 修改pom文件,引入spring-boot-maven-plugin <build> <plugins> <...

    背景

    在使用maven打包项目的时候,mvn clean package ,报了一个jar包中没有主清单属性如何解决错误;很明显是没有指定mainClass

    解决

    修改pom文件,引入spring-boot-maven-plugin

    <build>
        <plugins>
    			<plugin>
    		        <groupId>org.springframework.boot</groupId>
    		        <artifactId>spring-boot-maven-plugin</artifactId>
    		        <version>2.3.1.RELEASE</version>
    		        <configuration>
    		          <mainClass>
    		            com.vvvtimes.server.MainServer
    		          </mainClass>
    		        </configuration>
    		        <executions>
    		          <execution>
    		            <goals>
    		              <goal>repackage</goal>
    		            </goals>
    		          </execution>
    		        </executions>
    		      </plugin>
        </plugins>
      </build>
    

    注意:需要指定mainClass的位置,如果项目中已经使用了maven-assembly-plugin,可以将该插件注释掉;使用spring-boot-maven-plugin打包速度更快

    展开全文
  • 案例: 需求修改web项目中的数据库地址。 解压。 360,ZIP什么的都可以。 修改: 。。。 vim工具等 ...jar包中没有主清单属性 MANIFEST中包含有启动信息,但是jar命令默认不会使用原来的MANI...

    案例:

    需求修改web项目中的数据库地址。

    解压。

    360,ZIP什么的都可以。

    修改:

    。。。 vim工具等

    打包(重点):

    这里可能会出现很多问题:

    方法一:

    # 打包当前文件夹
     jar -cvf xxx.jar ./

    方法二:

    当存在MANIFEST.MF问题:

    jar包中没有主清单属性

    MANIFEST中包含有启动信息,但是jar命令默认不会使用原来的MANIFEST,如果想使用原来的,使用下面的命令:

    jar -cvfm xxx.jar ./META-INF/MANIFEST.MF ./

    如果想自定义,就修改MANIFEST.MF中的Main-Class属性。

    例如:

    格式:Main-Class: 包名 类名 
    本例:Main-Class: org.springframework.boot.loader.JarLauncher

    方法三:

    有时候,你需要对springboot打包的jar或war进行替换或者增加时,使用方法一,方法二,会出现

    It has been compressed and nested jar files must be stored without compression的错误

    如果有源码工程,就使用源码重新编译,如果没有就采用下面的方式。

    1、直接打成非压缩的包。

    解压jar或war包,进入项目。

    jar -cvfM0 xxx.jar ./*

    缺点:未压缩的可能比较大。

    2、或者使用springboot的spring-boot-maven-plugin插件重新打包。

    如果本机有maven的环境,打开pom.xml文件,将里面的dependencies全删除

    ,只保留build再在pom.xml当前目录下新建target目录,在target目录里再将新建你要打包的jar或war的相同名字的目录名,然后将jar或war中的所有文件解压到该目录下,将需要增加或修改的jar也覆盖到lib中,整个目录结构如下:

    repackage 
        - pom.xml 
        - target 
            - myapp 
                - META-INF 
                - WEB-INF 
                - index.html

    然后在windows操作系统下使用cmd命令进入黑窗口,cd到repackage目录。

    运行:

    mvn package

    这样就在target下生成对应的jar或war包了。

     

    展开全文
  • ** 在springboot编译插件 spring-boot-maven-plugin中添加完整打包信息 ** 原因分析: 在聚合项目中子项目引用了父...导致spring-boot-maven-plugin的配置项丢失,使得打包后的jar中的MANIFEST.MF文件缺少Main-Class。

    在springboot编译插件 spring-boot-maven-plugin中添加完整打包信息

    在这里插入图片描述

    原因分析:

    在聚合项目中子项目引用了父项目的BOM编译插件,这个BOM代替了spring-boot-starter-parent这个parent POM(详见13.2.2. Using Spring Boot without the parent POM)

    导致spring-boot-maven-plugin的配置项丢失,使得打包后的jar中的MANIFEST.MF文件缺少Main-Class。

    展开全文
  • 今天新写的SpringBoot项目打jar包部署的时候遇到一个问题,xxx.jar包中没有主清单属性。如下图所示:主清单属性是jar包中MANIFEST.MF文件中的一个属性,MANIFEST.MF文件位于jar包的META_INF路径下打开MANIFEST.MF...

    今天新写的SpringBoot项目打jar包部署的时候遇到一个问题,xxx.jar包中没有主清单属性。如下图所示:

    4d5f3d1221bb63b0f38c63ba56983f84.png

    主清单属性是jar包中MANIFEST.MF文件中的一个属性,MANIFEST.MF文件位于jar包的META_INF路径下

    5c2e1daddf968420dc5ca587a86ac0b0.png

    打开MANIFEST.MF文件,里面有如下属性:

    Manifest-Version: 1.0Implementation-Title: com.imooc

    Implementation-Version: 1.0-SNAPSHOT

    Archiver-Version: Plexus Archiver

    Built-By: liu

    Implementation-Vendor-Id: com.zh

    Created-By: Apache Maven 3.6.3Build-Jdk: 1.8.0_111

    Implementation-URL: http://www.example.com

    Implementation-Vendor: Pivotal Software, Inc.

    再贴一个正常的MANIFEST.MF:

    Manifest-Version: 1.0Implementation-Title: common

    Implementation-Version: 0.0.1-SNAPSHOT

    Spring-Boot-Version: 2.1.5.RELEASE

    Main-Class: org.springframework.boot.loader.JarLauncher

    Start-Class: com.zh.common.management.CommonApplication

    Spring-Boot-Classes: BOOT-INF/classes/Spring-Boot-Lib: BOOT-INF/lib/Build-Jdk-Spec: 1.8Created-By: Maven Archiver 3.4.0

    对比发现有问题的jar包文件中多了Archiver-Version、Built-By、Implementation-Vendor-Id三个属性,少了Spring-Boot-Version、Main-Class、Start-Class、Spring-Boot-Classes、Spring-Boot-Lib五个Springboot相关的属性。

    Main-Class:属性值代表了Spring Boot中启动jar包的程序,值为 org.springframework.boot.loader.JarLauncher,这个就是Springboot启动项目的类

    Start-Class:属性值代表了Spring Boot程序的入口类,即XXXApplication类

    Spring-Boot-Classes:属性值代表了类路径,所有编译后的class文件,以及配置文件,都存储在该路径下

    Spring-Boot-Lib:属性值代表了表示依赖的jar包存储的位置

    以上这些属性是Springboot打包插件默认生成,缺少这些属性项目无法运行。

    所以需要再pom文件中添加Springboot打包插件:

    org.springframework.boot

    spring-boot-maven-plugin

    按照一个正统的教程到这里应该就结束了,但是....

    一顿操作之后你的项目可能会OK了,但也可能仍然有问题

    我项目的POM文件是自动生成的在build标签里面附带了一个pluginManagement标签,我们知道pluginManagement一般是在父pom中,pluginManagement中包裹的插件,子pom可以直接引用,但也必须在子pom中写出来。当我百思不得其解的时候 ,我比较了我之前项目的pom文件,发现没有这个标签,然后我尝试删除pluginManagement标签之后。再次编译的jar包终于运行成功。这里pluginManagement的某种我不知道的特性可能对Springboot打包插件的生效产生了某种不可名状的干扰。

    org.springframework.boot

    spring-boot-maven-plugin

    org.apache.maven.plugins

    maven-compiler-plugin

    8

    8

    展开全文
  • jar没有主清单属性【解决办法】

    千次阅读 2020-07-09 18:48:03
    在使用maven打包项目的时候,mvn clean package ,报了一个jar包中没有主清单属性如何解决错误;很明显是没有指定mainClass 解决 修改pom文件,引入spring-boot-maven-plugin 【亲测有效】 <plugins> <...
  • 最近在测试利用maven打包部署...使用命令mvn install将测试类打包到本地,然后在本地仓库运行jar包,提示jar包中没有主清单属性。原因是打jar包的时候没有指明主类,修改如下配置: 修改后重新打包就可以运行了。 ...
  • xx.jar没有主清单属性

    万次阅读 2019-03-04 15:40:36
    使用Spring Boot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxxxxx.jar没有主清单属性 主清单属性是什么? 是启动类的属性缺失。 以SpringBoot为...
  • 启动jar时报没有主清单属性

    千次阅读 2019-05-28 11:36:19
    报了没有主清单属性错误 原因: jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类(MANIFEST.MF就是一个清单文件), 解决方法: 在pom文件中添加以下代码 <build> <plugins> &l.....
  • 例用spring boot框架在eclipse下可以正常运行,但是使用maven install 打成jar包后,再用java -jar testName.jar运行jar包时报错误信息:jar没有主清单属性。 在这里有一个问题就是主清单属性是什么? 以SpringBoot...
  • 问题来源:将springboot包打成jar包之后使用java -jar运行时提示jar中没有主清单属性 问题分析:主清单属性是什么? jar包中包含了三个文件夹:BOOT-INF,META-INF,org,解压jar包可以看到其中META-INF文件夹下有一...
  • 在windows系统的cmd命令行窗口中执行: java -jar udfFull.jar {"movie":"1287...报错1:udfFull.jar中没有主清单属性 原因:jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。 说白了就是没有指定c...
  • 2、这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序...
  • 在使用maven打包项目的时候,mvn clean package ,报了一个jar包中没有主清单属性如何解决错误;很明显是没有指定mainClass 解决 修改pom文件,引入spring-boot-maven-plugin 【亲测有效】 but,这个方法对我没有...
  • jar没有主清单属性

    2019-09-29 23:46:55
    或手动配置jar包中的MANIFEST.MF文件: 添加Main-Class: gui 参考: JAVA环境变量 CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; PATH .;%JAVA_HOME%\jre\bin;%JAVA_HOME%\b.....
  • 新建了一个springboot项目,打包后启动,报如下错误: E:\idea-workspace\springcloud\cloudserver\target...cloudserver-0.0.1-SNAPSHOT.jar中没有主清单属性 jar包中内容如下: 打开META-INF文件夹下的MANIFEST....
  • 在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性。这是怎么回事?今天来教大家如何解决这个问题1、在java中编译JAR文件的时候我们都会用到,jar这个命令。当用着jar 文件时候我们不可少的是cvf这几个...
  • xxx.jar中没有主清单属性   问题原因: 缺少MANIFEST.MF文件。打包的jar包中包含了三个文件夹:BOOT-INF,META-INF,org,可以把jar包解压到文件夹下查看,其中META-INF文件夹下有一个MANIFEST.MF文件,该文件...
  • 可以看到在jar包中 META-INF/MANIFEST.MF的文件缺少以下信息 Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Spring-Boot-Layers-Index: BOOT-INF/layers.idx Start-Class: com.synnex.itt.db.App Spring-...
  • 在这里有一个问题就是主清单属性是什么? 以SpringBoot为例,jar包中包含了三个文件夹:BOOT-INF,META-INF,org,可以把jar包解压到文件夹下查看,其中META-INF文件夹下有一个MANIFEST.MF文件,该文件指明了程序的...
  • 问题:一般遇见这种问题是因为JAR包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。就是缺少默认运行的Main类。解决办法:1、手动加上运行的类(Main-Class属性)打开MANIFEST.MF文件夹,内容如下 可以看到...
  • -SNAPSHOT.jar中没有主清单属性 resource文件夹的包没有导入 解决方法需要对项目中的配置文件进行改动。 解决方案: 主清单属性是指可运行jar包中的main函数,如果要运行jar包需要指明一个运行的入口,需要改动...
  • 背景Java 9 版本中增强了Jar 包多版本字节码文件格式支持,也就是说在同一个 Jar 包中我们可以包含多个 Java 版本的 class 文件,这样就能做到 Jar 包升级到新的 Java 版本(新特性 API 使用)时不用强迫使用方为了...
  • 自己写了一个pring boot项目,然后通过maven或是手动打包成jar文件,然后通过cmd运行(java -jar xxx.jar)报错该文件没有主清单属性,自己网上也查找了很多解决办法,包括在jar包中加入main的主入口清单,但是我...
  •  2、这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,  通俗点将就相当于WINDOWS中ini配置文件。用来...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

jar包中没有主清单属性