Window下生成并运行jar包,通过classpath引用jar包

本文介绍如何使用Java将简单的Hello World程序和包含数学运算的类打包成独立的Jar文件,并解释了如何设置MANIFEST.MF文件以确保正确执行。此外还演示了如何通过ClassPath引用其他Jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.生成及运行jar包

1.编写java文件,命名为HelloWorld.java

public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}

}

2.在文件所在路径下编译,javac HelloWorld.java,生成文件HelloWorld.class;

3.在class文件所在路径下,执行命令 java -cvf HelloWorld.jar HelloWorld.class   生成jar包 HelloWorld.jar;

4.打开jar包,修改其中MANIFEST.MF,修改前文件内容为:

Manifest-Version: 1.0

此时在jar包所在路径执行命令: java -jar HelloWorld.jar会报错“HelloWorld.jar中没有主清单属性”

需要在MANIFETST.MF文件增加一个main方法所在类的类名(记得带上包名,由于此例子没有包名,所有没有加)

Manifest-Version: 1.0

Main-Class: HelloWorld

注意在冒号之后有个空格;

此时在jar包所在路径执行命令:java -jar HelloWorld.jar,执行成功

二.通过classpath引用其他jar包.(以下操作都是在E:/test路径下完成中)

1.创建计算类MyMath,内容如下

package com.calc;
public class MyMath{
public int add(int a,int b){
return a+b;
}

}

由于此类在包中,因此MyMath.java文件一定要放在路径"com/calc/"文件夹下,使用javac进行编译.然后进入test文件夹执行打包命令,生成jar包,此时jar包在test文件夹下生成

jar -cvf MyMath.jar *     

此时将当前目录下的所有内容打包,其中包含源文件MyMath.java,需要删除; 

2.我们创建一个类Test,其中需要引用该方法,代码如下

package org;
import com.calc.MyMath;
public class Test{
public static void main(String[] args){
MyMath mm=new MyMath();
System.out.println(mm.add(2,3));
}

}

进入org文件夹,编译此程序     javac -classpath E:/test/MyMath.jar Test.java

3.进入test文件夹,将此程序打包,然后修改MANIFEST.MF文件,其中需要增加启动类,由于引用了其他jar包,因此需要增加classpath.路径为相对当前Test.jar包的位置,由于引用的jar包在项目目录下,因此直接为MyMath.jar,如果在项目目录下新建lib目录,将引用的jar包放入,则路径变为lib/MyMath.jar   

Manifest-Version: 1.0
Created-By: 1.8.0_92 (Oracle Corporation)
Class-Path: MyMath.jar

Main-Class: org.Test

注意冒号后面都有一个空格

4.执行jar包

java -jar Test.jar      输出为5
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值