资讯专栏INFORMATION COLUMN

java jar打包使用总结(一)

Blackjun / 1011人阅读

摘要:背景介绍将程序打包,无论是为了代码复用,还是发布应用,都是必不可少的的技能,上次总结了一下利用打包成,这次我来说如何打包。导入往往我们使用打包不只是为了双击使用,有时也是为了代码复用。碍于时间关系,将留待下一篇文章进行总结。

背景介绍

将程序打包,无论是为了代码复用,还是发布应用,都是必不可少的的技能,上次总结了一下python利用cxfreeze打包成exe,这次我来说java如何打包。

和python不同,java自带的jar命令功能很强大,我们并不需要第三方的软件就可以进行打包。

需要补充说明一下这里的打包指的是将一系列class文件打包成jar文件,并不指打包成exe文件,如果需要打包成exe可以使用,可以使用exe4j制作,地址点这里

本文对打包成exe文件的方法不作介绍。

什么是jar

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件

注意了,jar是一个压缩文件,有不少刚学习java的同学都好奇要如何打开jar文件,事实上使用7-zip,WinRAR等就可以打开,当然了jar并不是为了给你这么用的。

如何制作jar

本文将讲解使用eclipse制作jar,至于在命令行下如何用jar命令以后再细说。

使用eclipse制作jar 制作普通的jar文件

文件->导出->java->选择jar文件(可运行jar文件下面会总结)

下一步(直到没有下一步可选)就是选择需要打包的资源,以及路径等相关配置,这个按需选择即可。

随后选择完成即可,一个jar文件就产生了耶( •̀ ω •́ )y

总的来说,打包普通jar文件使用eclipse打包比较傻瓜化,下面说说制作可以运行的jar

制作可运行的jar文件

文件->导出-->java->选择可运行jar文件

主要区别的是需要配置启动配置,也就是你main方法的那个类,其余配置也可以按需配置即可。

随后选择完成即可,一个可运行jar文件就产生了耶( •̀ ω •́ )

双击看看,怎么没反应?

原因很简单,可运行jar文件是映射给javaw.exe运行的,而javaw.exe和python中pyw格式是一样的,即隐藏掉控制台,显示你自己绘制的GUI程序,所以如果你的程序没有提供GUI,那么就会什么也不显示。

那么是不是就无法运行没有提供的GUI文件了吗?

答案当然是否定的。

你只需在命令行下进入相对应的目录,使用以下命令

    java -jar yourJarName.jar

即可在控制台中看到结果

显然,可运行jar与普通的jar文件差别只在于你是否提供了具有main方法的那个类。

导入jar

往往我们使用jar打包java不只是为了双击使用,有时也是为了代码复用。既然是为了复用,自然就意味着我们需要将打包好了jar文件导入工程中

eclipse中导入jar的操作依旧很傻瓜化。

现在工作目录下新建一个文件夹,用于管理导入jar文件

在左边资源管理器中,单击新建的文件夹->导入->常规->文件系统。

选择你要导入的jar文件。

在新建的文件夹中看到你添加进的jar文件,就成功了一半了。

这时你需要单击jar文件,在弹出菜单中选中构建路径->添加到构建路径后,在引用的库下看到这个jar文件,就完全成功了。

此后,你就可以使用import语句来使用你之前打包好的类了耶( •̀ ω •́ )。

关于在eclipse导入jar还有其他方法,详细可查看他人的博客,本文只选择容易操作的进行总结。

eclipse导入jar的三种方法

尾声

eclipse虽然使得打包jar文件变得非常简单,但有些时候我们还需要在命令行下用java自带的jar命令来进行打包。碍于时间关系,将留待下一篇文章进行总结。

新人写完只是为了帮助更新的人,如果有不足的地方,望指正。如果有帮助,欢迎收藏推荐和关注本专栏。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65483.html

相关文章

  • java jar打包总结(二)

    摘要:前言昨天总结了使用进行打包今天说一下命令行下使用命令进行打包。在命令行下打包需要比使用这些成熟的工具更需要注意一些东西,但打包和使用总体来说都不算太复杂,下面慢慢讲述。第三行指定主类所在类路径。第四行指明程序运行的主类。 前言 昨天总结了使用eclipse进行jar打包,今天说一下命令行下使用jar命令进行打包。 在命令行下打包jar需要比使用eclipse这些成熟的工具更需要注意一些...

    Mr_houzi 评论0 收藏0
  • Maven 常用技巧总结

    摘要:用于将集成至标准的构建生命周期中,此时执行时就会执行指定的操作,从而实现自定义打包。插件的已弃用会自动执行生命周期。可执行文件执行时出现乱码使用生成的可执行文件,在中执行时出现乱码,项目编码统一为,日志使用框架。得到的是当前的绝对路径。 「博客搬家」 原地址: 简书 原发表时间: 2017-04-06 1. 设置 Java JDK 的版本为「JDK 1.8」 可以修改 pom.x...

    niceforbear 评论0 收藏0
  • 如何使用 Java 构建微服务?

    摘要:本文主要介绍了利用生态系统构建微服务的多种方法,并分析了每种方法的利弊。也不例外,本文探讨了使用生态系统来构建微服务的几种不同方式。另一种单部署就是使用一个嵌入式框架来构建服务。在中,和项目对构建微服务提供了很好的支持。 【编者按】微服务背后的大理念是将大型、复杂且历时长久的应用在架构上设计为内聚的服务,这些服务能够随着时间的流逝而演化。本文主要介绍了利用 Java 生态系统构建微服务...

    psychola 评论0 收藏0
  • 深入Spring Boot:ClassLoader的继承关系和影响

    摘要:的打包结构改动是这个引入的这个的本意是简化的继承关系,以一种直观的优先的方式来实现,同时打包结构和传统的包应用更接近。目前的继承关系带来的一些影响有很多用户可能会发现,一些代码在里跑得很好,但是在实际部署运行时不工作。 前言 对spring boot本身启动原理的分析,请参考:http://hengyunabc.github.io/s... Spring boot里的ClassLoad...

    lifesimple 评论0 收藏0
  • 慕课网_《新代构建工具gradle》学习总结

    摘要:时间年月日星期二说明本文部分内容均来自慕课网。项目一个项目代表一个正在构建的组件比如一个文件,当构建启动后,会基于实例化一个类,并且能够通过变量使其隐式可用。任务动作定义了一个最小的工作单元。 时间:2017年05月16日星期二说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https://github.com/zccod...

    antyiwei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<