解决`java -jar xxx.jar`出现的“主清单没有属性”问题

问题主因分析:缺少MANIFEST.MF文件所致

准备

  • jdk版本:1.7
  • MyEclipse版本:10.7

一、Java工程目录结构如下:

以Java工程加密算法为例。

Java工程目录结构

二、编辑MANIFEST.MF文件

Manifest-Version: 1.0
Main-Class: com.pactera.utils.StandardEncryptor
Class-Path: lib/bcprov-jdk15on-1.50.jar lib/commons-codec-1.6.jar lib/log4j-1.2.17.jar
  1. MANIFEST.MF文件存放在src/META-INF
  2. Manifest-Version:Main-Class:Class-Path:后面均空出一格

三、右击项目进行JAR导出

1、导出为JAR


导出为JAR

2、只勾选src目录,并命令输出文件


导出选项
  • 如图中1/2所标识进行选择,只勾选src下的目录
  • 3处jar包的命令的名称与MANIFEST.MF中定义的Main-Class相同,即导出文件命令规则为Main-Class.jar

3、下一步


下一步

4、关键:选择该项目下的.MF文件


选择.MF文件

5、Finish

四、测试

1、导出的文件列表


导出的jar

在该目录下创建lib文件夹,将项目的jar包拷贝到lib文件夹下即可。

2、测试

java -jar com.pactera.utils.StandardEncryptor.jar xxxx yyyy zzzz

xxxx/yyyy/zzzz为该项目所使用的参数,各位可根据自己的Java工程进行设置

测试结果

【=== End ===】


参考文档

  • jar命令成功完成 java -jar 命令却提示“没有主清单属性”

你可能感兴趣的:(解决`java -jar xxx.jar`出现的“主清单没有属性”问题)