java如何打包系统_Java工程项目打包成一个安装包从而在电脑上部署

我们都知道生物信息其实包含方方面面非实验工作,只是应用在生物中,解决生物学问题。一句话总结:生信是个框,不做实验都往里面装。(不喜勿喷)

0. 本文背景:

假设你是一个Java开发人员,你撰写了一个专门用于处理生物问题的图形界面软件。你在Java的集成开发平台(IDE)已经开发好了这个软件。现在你需要把项目所有的东西(源代码,配置文件,图文资料,以及Java运行环境,一下简称JRE)都打包成为一个安装包。然后使得用户只要下载了这个安装包,再双击安装,然后一路点击next(也就是下一步)安装好这个软件,使用即可。

下面我们来介绍一下如何来打包这个由Java撰写的软件。

这里先介绍一个Java的常识,高级编程语言一般可以粗略分成两类:第一种是编译型语言,第二种是脚本型语言。前者写完源代码后,需要编译一下,生成可执行的二进制文件(因为计算机只懂0和1);后者没有编译环节,直接调用解释器即可运行源代码文件。

Java严格来分属于编译型语言,它的源代码是.java文件,可执行文件需要编译成.class文件。源代码最基本的单位是类,类可以组织成包,包可以再打成jar文件。Jar文件分为可执行的jar文件与不可执行的jar文件,后者可以认为是一种类似rar,zip的压缩文件格式。在jar文件中有一个声明jar文件的配置文件,它永远位于jar文件中的"/META-INF/MANIFEST.MF"。

可执行jar文件与不可执行jar文件的区别在于前者的"MANIFEST.MF"文件中包含了启动类与依赖库文件的目录。

所以对应于这篇文章的标题来说,打包与部署其实更准确的来说是:一个config目录,一个resource目录,一个lib目录,一个jar文件,和一个JRE(也是一个目录)。以window系统为例如何打包成为一个exe安装包,然后点击下一步下一步安装之后桌面出现一个快捷方式,双击快捷方式即可使用软件!

当然,开发者也可以直接以上面那种形式发布,毕竟对于可执行jar文件来说,双击文件也可以运行软件(前提是你的电脑配置了Java运行环境)。但是对于很多人来说那可能不正规,而且容易把源代码暴露。

实例1:工程项目只有源代码

工程文件目录结构:

仅仅包含一个jar文件;jar文件中只有一个简单的类。(啊?你刚才不是说你写了一个专门处理生物问题的软件吗?怎么只有一个类?我们从实例出发先来一个比较小的例子,或者你想想一个应用场景,这个软件只有你自己用。)

-ydl.test

GraphicsDemo.class

MANIFEST.MF 文件的内容为:

Manifest-Version: 1.0

Class-Path: .

Main-Class: ydl.test.GraphicsDemo

打开PowerShell,然后敲入如下代码:

javapackager -deploy -native exe -outdir nativeBuild -srcdir testDeploy1 -appclass ydl.test.GraphicsDemo -name testDep1 -outfile testDep1

当然记得将jdk的bin目录加入环境变量,注意是jdk,JRE只是jave的运行环境,不包含开发工具。然后运行,结果报如下错误:

你可能感兴趣的:(java如何打包系统)