java项目生成jar,并在cmd中执行jar

自己写的jar并使用:
============Java项目
============Jar包的打包
在Eclipse中直接打包,具体步骤:
点击右键》export》jar file》取消不需要的文件和选择路径 Next》Next……》finish

============Jar的MANIFEST.MF配置文件的配置
1、Jdk1.6的环境
1)配置文件中的配置:【没有Main入口程序配置,执行命令时候直接调用Main文件】
Manifest-Version: 1.0
Class-path: lib/mail.jar 【后面有个空格并且回车键】

2)cmd中的执行命令:
java -cp fileMonitor.jar fileMonitor.Main start

2.jdk1.7的环境
1)配置文件中的配置
Manifest-Version: 1.0
Main-Class: fileMonitor.Main 【后面有个空格】
Class-path: lib/mail.jar 【后面有个空格并且回车键】

2)cmd中的执行命令【直接运行jar包】
java -jar fileMonitor.jar

注意点:

1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;多个jar包空格分开

2、假设我们的项目打包后为HelloWorldServer.jar,那么按照上面的定义,应该在 HelloWorldServer.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件
在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread "main" java.lang.NoClassDefFoundError”的错误;

3、Main-Class后面是类的全地址,比如你的主文件是HelloWorldServer.java,文件里打包为package com.bonree.base; 那么这里就写com.bonree.base.HelloWorldServer,
不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;

4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,

否则将会出现“jar中没有主清单属性”的错误。

如果在jar中有一些System.out.prinln语句(如上执行结果),运行后不想在控制台输出而是保存在文件中方便以后查看,可以用一下命令:
java -jar HelloWorldServer.jar > log.txt (这时命令行窗口不会有任何输出)
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和HelloWorldServer.jar一个目录中。
原文地址:https://www.cnblogs.com/renxiaoren/p/6774505.html