Java学习之道:Java项目打包发布

时间:2022-11-05 15:58:52

Java项目打包发布

如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了

使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件,假定项目中所有配置文件都在项目根目录的config文件夹.

新建一个文件夹bushu,将项目中的config文件夹放进来 
        用winrar打开项目引用的所有jar文件,将文件中的所有包文件夹添加进pet.jar文件 
        创建pet.dat文件,内容:start java -Xmx512m -jar pet.jar 
        运行pet.dat

如果最终想发布为可执行程序 我使用开源项目jsmooth提供的软件 项目地址

使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件,我的项目中所有配置文件都在项目根目录的config文件夹.

新建一个文件夹bushu,将项目中的config文件夹、引用的外部jar包和pet.jar文件都放进来,所有包文件都放到bushu下的lib目录下

打开jsmooth,新建一个项目,设置好后编译就可以生成exe文件,附件中我截取了所有jsmooth配置的图片. 
      首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 
      设置环境变量 就不雅了。我们需要将jre打包。

这几步操作网上介绍的插件和方法很多,但有的好用有的不好用,而且有的还需要注册。经过尝试比较,在“千里冰封”的博客上得到了很大的帮助。整理一下。使用这几个工具,您也可以顺利的发布您的java程序!

1 打包成双击可执行的jar文件。

推荐插件:fatJar(Eclipse使用)

下载地址 
      http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924

我用的是Eclipse,它自带的打包方法在打包一些图片等资源时不是很爽。可以使用这个插件。

安装方法解压后将plugins文件夹下的net.sf.fjep.fatjar_0.0.24文件夹拷到eclipse安装目录的plugins 下。

用此工具可以方便的将eclipse中的工程打包成jar文件。如果是要打成可执行的jar请注意选取主类。

你的项目=〉Export..=>向导里有fat jar =>...

2 将jar文件转换成exe文件。 exe4j的使用方法

推荐工具:exe4j

用exe4j把java打包成exe

http://www.blogjava.net/hadeslee/archive/2007/10/12/152228.html

在我们写程序的时候,有时会有一种需求,那就是希望我们的程序是一个可执行文件,而不是一个 
      jar文件,其实大部份时候,可执行的jar文件都可以满足要求,但是如果我们的程序是需要保护的,那么打包成jar文件就不太安全了,因为jar文件就是一个解压缩文件,一解压就什么都能看到了,当然也可以选择混淆,但是混淆了以后排错就没那么容易了,因为混淆的时候,把一些类的信息都混淆了。如何既保证代码的安全又容易排错呢?那么打包成exe就是一种很好的办法了,其实我今天介绍这个方法并不是希望大家去打包成exe文件,因为exe文件毕竟不是跨平台的,用了exe的格式就失去了java的初衷了。

exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的 
      jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。

3 将exe文件并jre打包成安装文件,可以在没有安装java虚拟机的电脑上运行

推荐工具:install4j

Install4j介绍

http://www.blogjava.net/hadeslee/archive/2007/10/15/152855.html

install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 
      的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。

创建发布树

install4j的图形用户界面允许你:

* 完全自定义发布树

在发布树的每一个目录中,你能设置整个目录内容或是磁盘上任何目录的单个文件。定义的视图与结果视图让你能完全控制安装程序将发布的文件。

* 处理特定平台的差异

install4j提供方便的“包含/排除”机制,使其适应平台方式来进行发布。

* 针对Unix, Linux 及Mac OS X所定义的文件权限

对发布树的每一个元素,当其安装在类似于Unix这样的平台上时,你能自定义用户访问的权限。

* 定义优良的卸载策略

对发布树的每一个元素,你能决定在卸载时是否删除它。

* 定义覆盖策略

对发布树的每一个元素,你能配置不同的覆盖策略,当安装过程中需要覆盖文件时,这些覆盖策略会指示nstall4j进行相应的操作。

* 定义安装的组件

你能定义文件及目录的分组,形成分离的安装组件,这样你就可提供给用户来选择只安装一定的组件。

其实一个好的应用如果不太好布署,那么别人也只能对它望而兴叹了,现在有了 
      install4j,很多布署的问题几乎全部解决了.我们可以用exe4j打包java应用,然后用install4j发布java应用,以前java程序布署难的问题,现在几乎都解决了.install4j不但用于打包很合适,并且它还提供了一组很强大很实用的与平台相关的api.这些对于扩展我们的程序也是有很大的帮助的.

install4j Enterprise Edition序列号 
      这东西搜索了半天才搞到,我安装的是3.2的,下面的序列号一样可以使用,共享一下,省得大家再去找了

install4j Enterprise Edition 3.1.3注册码、序列号、破解版、注册机

S/N: A-G42M#03948F-pzwgavu2ohmw#316 
      S/N: A-G42M#03948F-pzwgavu2ohmw#508

install4j Proffesional Edition 3.1.2注册码、序列号、破解版、注册机

S/N: A-G4iN#89756F-9qotdnr5rq9a#0015

copy;2010 Baidu

Java学习之道:Java项目打包发布的更多相关文章

  1. Java学习之道:Java 导出EXCEL

    1.Apache POI简单介绍  Apache POI是Apache软件基金会的开放源代码函式库.POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开 ...

  2. Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  3. SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程 ...

  4. Vue项目打包发布后CSS中的背景图片不显示

    相信有很多同学在学习vue的刚开始都遇到过项目打包发布后发现CSS中的背景图片不显示,具体如何解决只需要更改bind的配置即可 修改 build/utils.js 中的 generateLoaders ...

  5. VS2010下创建的VB.NET项目打包发布安装包的流程

    VS2010下创建的VB.NET项目打包发布安装包的流程 参考:http://blog.csdn.net/liuyanlinglanq/article/details/8609675  关于relea ...

  6. [Python] 项目打包发布

    一.setuptools - 官方文档: Building and Distributing Packages with Setuptools- 中文文档: Python包管理工具setuptools ...

  7. 摘自:java夜未眠之java学习之道

    目前Java可以说是产业界和学术界最热门的语言,许多读者都很急切想把Java学好.除非是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的.花时间,不打紧,就是怕方法错误,事倍功半.我认为 ...

  8. java学习之即时通信项目实战

     项目总结:这次项目主要是根据视频来的,结果跟到一半感觉跟不上,慢慢自己有了自己的想法,决定自己先不看学习视频,自己先试着写. 总结写前面,算是写的第一个项目吧.项目中遇到几点问题,首先Scoket对 ...

  9. Java学习之道:空指针错误求解救????????????

    运行下面这个主方法红色代码的地方就报如下错: https://api.weibo.com/2/users/show.json?access_token=2.00szM9cCc4R_EC6ebcf150 ...

随机推荐

  1. 【Java】聊聊常用的非对称加密算法之一RSA的使用(Java)

    参考的优秀文章 Java加密技术(四)——非对称加密算法RSA RSA算法原理(一).RSA算法原理(二) RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密? 简单的介绍 RSA是有名的非对称加密 ...

  2. 十款不容错过的Swift iOS开源项目及介绍

    1.十款不容错过的Swift iOS开源项目. http://www.csdn.net/article/2014-10-16/2822083-swift-ios-open-source-project ...

  3. RESTful-3架构详解

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  4. Mac 安装Python3 facewap环境

    参考网上大神的方法 1 官网下载安装 2 下载指定版本的源码cmake安装 3 Mac上使用homebrew进行安装(强烈推荐,主要是前两种的openssl模块我没有搞定链接什么的一直报错,一个个下载 ...

  5. 【转】利用python的KMeans和PCA包实现聚类算法

    转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚 ...

  6. vmware使用vsphere的镜像

    vsphere镜像导出后可以使用vmware station打开, vsphere镜像导出时需要关机,否则会提示失败,有文件不能导出.

  7. MySQL 5.7 使用原生JSON类型

    首先回顾一下JSON的语法规则: 数据在键值对中, 数据由逗号分隔, 花括号保存对象, 方括号保存数组. 按照最简单的形式,可以用下面的JSON表示: {"NAME": &quot ...

  8. msf客户端渗透(八):持久后门,mimikatz使用,获取PHP服务器shell

    持续后门 先获取一个session 在目标主机上生成持续后门 设置侦听参数 启动侦听 重新启动被攻击的主机 一启动攻击者时获取到session mimikatz的使用 mimikatz是俄罗斯组织开发 ...

  9. Excel VBA保护工作表

    '设定可编辑区域 ActiveSheet.Protection.AllowEditRanges.Add Title:="区域1", Range:=Range("E5:H1 ...

  10. Leetcode 1022. Sum of Root To Leaf Binary Numbers

    dfs class Solution: def sumRootToLeaf(self, root: TreeNode) -> int: stack=[(root,0)] ans=[] bi_st ...