首页 > 编程语言 >源码、二进制可执行文件、jar包

源码、二进制可执行文件、jar包

时间:2023-06-01 18:33:34浏览次数:41  
标签:可执行文件 文件 Java JAR jar 源码 class

  1. 源码(Source code):源码是开发人员编写的人类可读的程序代码,它以文本文件的形式存在,并使用特定的编程语言编写。源码包含了程序的逻辑、算法和操作步骤,以及相关的注释和文档说明。源码通常存储在版本控制系统中,并且用于开发、调试和维护软件。

  2. 二进制文件(Binary file):二进制文件是计算机能够直接执行的机器码形式的文件。它是由源代码经过编译或汇编生成的,以供计算机系统运行和执行的文件。二进制文件是由计算机硬件直接理解和执行的,不需要进行进一步的编译或解释。二进制文件包括可执行文件、库文件、驱动程序等。

  3. JAR包(Java Archive):JAR包是Java平台上的一种归档文件格式,它通常用于打包和分发Java程序和相关资源。JAR包里包含的是编译后的字节码文件(即.class文件),而不是源代码。JAR包是一种压缩文件,内部包含了Java类文件、资源文件、配置文件和其他相关文件。它可以包含一个或多个Java类和资源,并且可以轻松地在Java虚拟机上运行。JAR包常用于分发Java应用程序、库和插件。

编译

编译是将Java源代码(以.java文件形式存储)转换为Java字节码(以.class文件形式存储)的过程

javac helloword.java

 

打成jar包

要将Java项目打包成可执行的JAR(Java Archive)文件,可以使用Java开发工具包(JDK)中的命令行工具jar来完成

  1. 确保你已经安装了Java开发工具包(JDK)并将其添加到系统路径中。

  2. 在命令行中进入项目的根目录,该目录应包含编译后的.class文件和其他资源文件。

  3. 创建一个描述JAR包内容的清单文件(Manifest file)。清单文件是一个包含特定信息的文本文件,其中最重要的是指定JAR包的入口点(Main-Class),即JVM将从该类的main方法开始执行程序。

    创建一个文本文件,命名为Manifest.txt,并在其中添加以下内容:

    Manifest-Version: 1.0 Main-Class: com.example.MainClass

    注意:将com.example.MainClass替换为你的项目中实际的主类路径。

  4. 使用jar命令创建JAR文件。在命令行中执行以下命令:

    jar cfm myapp.jar Manifest.txt com/example/*.class

    这将创建一个名为myapp.jar的JAR文件,并将清单文件和指定的.class文件打包到JAR中。确保com/example/*.class指定了你的项目中所有需要包含在JAR中的.class文件的路径。

    注意:如果你的项目包含其他资源文件(如配置文件、图像文件等),你也可以将它们添加到JAR文件中。例如,如果你的资源文件位于resources目录下,你可以将命令修改为:

    jar cfm myapp.jar Manifest.txt com/example/*.class resources/*
  5. 完成后,将生成的JAR文件(myapp.jar)部署到目标环境,并使用Java命令来运行它:

    java -jar myapp.jar

标签:可执行文件,文件,Java,JAR,jar,源码,class
From: https://www.cnblogs.com/mxleader/p/17449874.html

相关文章

  • 源码和二进制文件
    源码(Sourcecode)是开发人员编写的人类可读的程序代码。它通常以文本文件的形式存在,使用特定的编程语言编写。源码包含了程序的逻辑、算法和操作步骤,以及相关的注释和文档说明。二进制文件(Binaryfile)是计算机能够直接执行的机器码形式的文件。它是由源代码经过编译或汇编生成的,以......
  • 怎么编译源码,得到可执行二进制文件
    源码(Sourcecode)是开发人员编写的人类可读的程序代码。它通常以文本文件的形式存在,使用特定的编程语言编写。源码包含了程序的逻辑、算法和操作步骤,以及相关的注释和文档说明。二进制文件(Binaryfile)是计算机能够直接执行的机器码形式的文件。它是由源代码经过编译或汇编生成的,以......
  • ‘dependencies.dependency.version‘ for mysql:mysql-connector-java:jar is missin
    项目使用的技术框架是SpringBoot,依赖管理工具是Maven,需要用到数据库所以引入了mysql-connector-java相关jar包。之前项目一直正常的,不会报错,最近更新了一下版本,项目启动的时候直接报错:[INFO]Scanningforprojects...[ERROR][ERROR]Someproblemswereencounteredwhilep......
  • 【虚幻引擎】UE4源码解析FWorldContent、UWorld、ULevel、UGameInstance、UEngine
    一、UEngineEngine,因为也是很基础的类,再加上开发过程中会经常访问到该类型,因此UE4引擎也在代码全局范围内定义了一个该类型的全局变量:UEngine*GEngine供开发者直接调用。该最基础的类型分化成了两个子类:UGameEngine和UEditorEngine。UGameEngine保存了唯一的一个UGameInstan......
  • 直播小程序源码,flutter TextField 限制输入长度,限制输入数字文字
    直播小程序源码,flutterTextField限制输入长度,限制输入数字文字//限制长度inputFormatters:[LengthLimitingTextInputFormatter(11)], //限制输入数字文字等类型inputFormatters:[WhitelistingTextInputFormatter.digitsOnly], //键盘类型keyboardType:TextInputType.tex......
  • C# WINFORM 打砖块游戏,可以进行两队PK 程序源码
    C#WINFORM打砖块游戏红色绿色阵营,球可以自定义添加,图片可以设置为网络地址的头像,可以进行与评论和弹幕进行建设。 支持球增加支持球加速支持一键初始化游戏支持pk支持积分累计程序代码还有完全开发完毕,有些小细节还需要再进行优化程序使用纯原生代码,没有使用任何第三......
  • 成品直播源码推荐,Android 自定义颜色样式
    成品直播源码推荐,Android自定义颜色样式<?xmlversion="1.0"encoding="utf-8"?><resources>  <colorname="colorPrimary">#7bb736</color>  <colorname="colorPrimaryDark">#16c24b</color>  <c......
  • java -jar XXX.jar 没有主清单属性以及找不到或无法加载主类的问题
    <skip>true</skip>一定要去掉每个插件都有一个< skip ></skip>属性,maven在调用插件的时候判断这个属性的值是否是true,是true的话就跳过。<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</ar......
  • java -cp & java jar的区别
    java-cpjava-cp和-classpath一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Linux下使用“:”。windows环境:java-cp.;d:\work\other.jar;d:\work\my.jarpackname.mainclassnamelinux环境:java-cp.:......
  • 直播app源码技术开发知识:横竖屏功能的实现
    在快节奏时代的今天,直播短视频日益火爆,许多人选择去进入直播短视频源码搭建平台的行业,去开发制作自己的直播短视频app平台。当然,要开发制作自己的直播短视频app平台就要去顺应市场的需要,将用户们所需要的和市场各大app好的功能都要添加到自己的app中,不知道大家有没有发现这么一个功......