打包可运行jar文件,没有主清单属性,部分依赖没有打包。

项目场景:

对完成的java项目使用maven进行打包,并打包成可运行jar文件。

问题描述:

mvn clean compile  
mvn clean package
java -jar xxx.jar

运行jar包时出现没有

  • -SNAPSHOT.jar中没有主清单属性
  • resource文件夹的包没有导入

解决方法需要对项目中的配置文件进行改动。


解决方案:

主清单属性是指可运行jar包中的main函数,如果要运行jar包需要指明一个运行的入口,需要改动pom.xml。
添加:

<plugins>
	   <plugin>
	        <artifactId>maven-assembly-plugin</artifactId>
	        <version>2.4</version>
	        <configuration>
	            <descriptorRefs>
	                <descriptorRef>jar-with-dependencies</descriptorRef>
	            </descriptorRefs>
	            <archive>
	                <manifest>
                       <mainClass>com.noteligible.pojo.main</mainClass>
                  </manifest>
                 </archive>
             </configuration>
             <executions>
                 <execution>
                     <id>make-assembly</id>
                     <phase>package</phase>
                     <goals>
                         <goal>single</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>

其中mainClass指的是main函数的函数位置。


maven似乎默认不打包resource文件夹中的jar包,需要再pom.xml中添加:

<resource>
   <directory>src/main/resources</directory>
    <includes>
        <include>**/*.properties</include>
        <include>**/*.xml</include>
    </includes>
</resource>

directory>指明了需要打包的目录路径。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值