当前位置: 首页 > news >正文

Java打包配置

Java 打包的几种方式

一、打成Jar包并运行

1.进入命令行,编译.java文件

 javac Hello.java 

2.将编译后的.class文件打成Jar包

// 方法一:
jar -cvf *.jar *.class [*.class]

jar -cvf hello.jar Hello.class

// 方法二:此方法先配置文件(需了解本地的jre版本)
jar -cvfm *.jar MENIFEST.MF *.class
 
jar -cvfm hello.jar MENIFEST.MF Hello.class
  • c表示要创建一个新的jar包
  • v表示创建的过程中在控制台输出创建过程的一些信息
  • f表示给生成的jar包命名

3.运行Jar包

方法一:使用java -jar

如果你使用的是方法一打的jar包,在使用java -jar之前,我们需要需要配置Main-Class,否则会出现没有主清单属性错误。使用方法二打包的,直接跳到第六步。

  1. 使用压缩软件打开.jar文件

  2. 进入META-INF文件夹,将里面的MENIFEST.MF文件复制出来

  3. 用记事本打开,此时文件内容为

    Manifest-Version: 1.0
    Created-By: 1.8.0_191 (Oracle Corporation)
    
  4. 在第三行写入Main-Class: 主类的名称!(注意:冒号后面有一个空格,文件最后有一个空行)

加完后的内容:

Manifest-Version: 1.0
Created-By: 1.8.0_191 (Oracle Corporation)
Main-Class: App
  1. 保存后,在压缩软件中将这个文件替换原来的MENIFEST.MF文件
  2. 运行java -jar
java -jar jar包名称.jar 

java -jar hello.jar 
方法二:使用java -classpath
java -classpath jar包名.jar 主类名

java -classpath app.jar Main

二、打成exe并运行

使用的工具是exe4j

下载地址:exe4j官网地址

在使用软件之前,先登录激活,点击右下角的Change License,激活码:L-g782dn2d-1f1yqxx1rv1sqd

1.激活之后的exe4j如下图,点击next

1628833-20190910115942251-1113839312.png

2.选择 JAR in EXE,点击next
1628833-20190910120003732-2096775859.png

3.上面输入应用的名称,下面选择文件输出的位置,点击next

1628833-20190910120035210-830838558.png

4.这里是设置(从上到下)

  • 可执行类型(Gui图形界面,console命令行黑窗口,service服务)
  • 文件名,图标,等
  • !注意64位的jdk需要选择64位,如图

1628833-20190910120055286-746759170.png

1628833-20190910120108428-1023059595.png

5.点击next到5.Java invocation,点击右侧绿色加号,选择需要打成exe的jar包,以及所依赖的jar包

1628833-20190910120134923-1773138151.png

1628833-20190910120146918-83452364.png

在下图红框内输入主类名

1628833-20190910120209226-1132043616.png

6.上面两个输入框,分别是应用jre环境的最低版本和最高版本,如果不需要携带Jre环境,可以点击next

如果想要在没有Jre环境的设备上运行,我们可以点击下图的Search sequence

1628833-20190910120247977-2138190652.png

点击右侧的红叉,删除下图的三个默认配置,然后在点击右侧绿色加号,选择jre的文件夹,随后多次点击next,直到10.Finished结束

注意:这里的Jre文件夹的位置,应该同第三步的输出位置在同一个文件夹内,此处的Jre文件路径为相对路径

1628833-20190910120301035-10330719.png


7.此时我们就能在我们的输出路径看到输出的.exe文件,在有jre的环境下可以直接运行。

如果在没有Jre的环境下运行,需要在第六步设置Jre路径,并且将Jre文件一同复制到没有Jre环境的机器上

1628833-20190910120316580-1511449609.png

转载于:https://www.cnblogs.com/wenshaotian/p/11496697.html

相关文章:

  • Web前端之HTML
  • 数据结构与算法
  • Web前端之CSS基础
  • JAVA实现HTTP请求
  • 顺序存储结构与链式存储结构
  • Apache Kafka(九)- Kafka Consumer 消费行为
  • xray写POC踩坑
  • 对 Watchbog Botnet 渗透过程和 Payload 的分析
  • c++ 初学者 慢慢成长中
  • max pool实现
  • Kafka Stream 以及其他流处理框架对比
  • cpp 面向对象初步探索
  • cpp 实现简易String类
  • Apache Kafka(十)Partitions与Replication Factor 调整准则
  • 蒜头君的购物袋1、蒜头君的购物袋2-(01背包)
  • @jsonView过滤属性
  • 《Java编程思想》读书笔记-对象导论
  • 【EOS】Cleos基础
  • 2019年如何成为全栈工程师?
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android组件 - 收藏集 - 掘金
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Java Agent 学习笔记
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • node 版本过低
  • Python爬虫--- 1.3 BS4库的解析器
  • 利用DataURL技术在网页上显示图片
  • 前端路由实现-history
  • 三分钟教你同步 Visual Studio Code 设置
  • 学习HTTP相关知识笔记
  • 智能合约Solidity教程-事件和日志(一)
  • 阿里云API、SDK和CLI应用实践方案
  • 通过调用文摘列表API获取文摘
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • #define、const、typedef的差别
  • $refs 、$nextTic、动态组件、name的使用
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (七)Knockout 创建自定义绑定
  • (四)c52学习之旅-流水LED灯
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)OpenStack Hacker养成指南
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .Net6 Api Swagger配置
  • .NET中两种OCR方式对比
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @WebServiceClient注解,wsdlLocation 可配置
  • @在php中起什么作用?