用命令行编译java并生成可执行的jar包方法

 更新时间:2017年12月28日 13:55:24   作者:whatday  
下面小编就为大家分享一篇用命令行编译java并生成可执行的jar包方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.编写源代码

编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java。程序结构如下:

package test;
import java.awt.*;
import javax.swing.*;
//更多包的导入...
class NotePadFrame extends JFrame {
//主界面的设计...
}
//其他相关代码...
public class CardLayoutDemo {
 public static void main(String[] args) {
 new NotePadFrame();
 }
}

2.打开终端

打开系统菜单:“开始”->“运行...”->输入“cmd”,打开终端。

执行如下命令转到源文件所在目录:

cd myApp

3.编译源文件

输入如下命令进行编译:

javac CardLayoutDemo.java

执行成功之后,会在当前目录下生成一系列.class文件。

4.新建包文件夹

输入如下命令新建包文件夹:

mkdir test

也可在资源管理器新建此文件夹。

此文件夹必须与源文件中定义的包名完全一致(package test;)。

5.将类文件放到新的文件夹里

在资源管理器里将编译生成的所有.class文件移动到新建的test文件夹。

6.测试程序是否可正常运行

在I:\myApp路径下输入如下命令:

java test.CardLayoutDemo

如果可以正常运行程序,就可以进行下一步了。否则应检查上述步骤的正确性。

7.生成可执行的jar包

在I:\myApp路径下输入如下命令:

jar -cef test.CardLayoutDemo CardLayoutDemo.jar test

以上命令及参数的含义如下:

jar命令为java自带的专用打包工具;

c代表生成新的jar包;

e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.CardLayoutDemo;

f代表生成的jar包的名称,在本例中是CardLayoutDemo.jar。此包名可以随意命名,没有规定;

test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。

8.测试jar包是否可正常运行

在I:\myApp路径下输入如下命令:

java -jar CardLayoutDemo.jar

如果可以正常运行程序,则说明jar包制作成功。

如果已经将“Java(TM) Platform SE binary”关联到.jar文件类型(通过正常安装jdk后都会正确关联),还可以通过双击来执行此类jar包,其感受与exe文件相同。

以上这篇用命令行编译java并生成可执行的jar包方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在SpringBoot中使用jwt实现token身份认证的实例代码

    在SpringBoot中使用jwt实现token身份认证的实例代码

    你还不会在SpringBoot中使用jwt实现token身份认证吗,本文小编就给大家详细的介绍一下在SpringBoot中使用jwt实现token身份认证的实例代码,感兴趣的同学可以自己动手试一试
    2023-09-09
  • Vue实现验证码登录的超详细步骤

    Vue实现验证码登录的超详细步骤

    这篇文章主要给大家介绍了关于Vue实现验证码登录的超详细步骤,我们在使用vue进行前端开发时都需要登录验证,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • springboot使用JdbcTemplate完成对数据库的增删改查功能

    springboot使用JdbcTemplate完成对数据库的增删改查功能

    这篇文章主要介绍了springboot使用JdbcTemplate完成对数据库的增删改查功能,需要的朋友可以参考下
    2017-12-12
  • Java多线程 ReentrantReadWriteLock原理及实例详解

    Java多线程 ReentrantReadWriteLock原理及实例详解

    这篇文章主要介绍了Java多线程 ReentrantReadWriteLock原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • java方法重写(重点讲),方法重载问题

    java方法重写(重点讲),方法重载问题

    这篇文章主要介绍了java方法重写(重点讲),方法重载问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • springboot集成druid,多数据源可视化,p6spy问题

    springboot集成druid,多数据源可视化,p6spy问题

    这篇文章主要介绍了springboot集成druid,多数据源可视化,p6spy问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java的Atomic原子类详解

    Java的Atomic原子类详解

    这篇文章主要介绍了Java的Atomic原子类详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Java并发编程变量可见性避免指令重排使用详解

    Java并发编程变量可见性避免指令重排使用详解

    这篇文章主要为大家介绍了Java并发编程变量可见性避免指令重排使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Java利用完全二叉树创建大根堆和小根堆

    Java利用完全二叉树创建大根堆和小根堆

    大根堆是每个结点的值不大于他的父亲结点的值;小根堆是每个结点的值不小于他的父亲结点的值。本文将利用完全二叉树创建大根堆和小根堆,感兴趣的可以了解一下
    2022-08-08
  • 如何在Springboot实现拦截器功能

    如何在Springboot实现拦截器功能

    其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了,下面这篇文章主要给大家介绍了关于如何在Springboot实现拦截器功能的相关资料,需要的朋友可以参考下
    2022-06-06

最新评论