我拿了一份桌面工具的开源码,修改动改,在elipse上执行。感觉良好。但到了公布应用程序,就傻眼了。

我竟然不知道咋公布!

呵呵,不愧是Java小白。

假设是微软阵营,直接就编译成exe了。

但java这里,假设要编译成EXE,还须要一个第三方工具,eclipse是没有的。

更何况,要编译exe,前提是要先将源码编译成jar包。

但是jar包又分为普通jar包和可执行jar包,要选哪一个?而且这份源码有点庞大,它本身又引用了很多jar包。

这份源码使用了 ant 和 lvy,我到如今都搞不懂它们是干嘛的。ant,lvy应该是像nuget那样的,帮助下载依赖包的,但是否也有帮助公布的作用,比方ant dist什么的,就不得而知了。

网上寻寻觅觅,没有头绪,后来问同事,才知道一个点答案。

有人说,java不适合自学。今日信焉。

方法是酱紫的:

1、eclipse下。右击该项目,选export,弹出对话框中,选Java,然后选Runnable JAR file

2、

1)能够选将全部依赖包都编译进可执行包里,但也能够选3)与可执行包放在同一个文件夹。第2个不知啥意思。我选了第3个

然后下一步,就可以。这时会有一个警告,无论它。

到最后,生成的文件是这种:

kettle52_lib:依赖的包

kettle52.jar:公布的可执行包

ui:是一些资源文件。不是生成的。我手动拷过来的

spoon.bat:我手动写的。里面代码仅仅是这么一句:

java -jar kettle52.jar

当然直接双击kettle52.jar也是能够执行的。搞个批处理文件仅仅是方便而已。

公布Java桌面程序的更多相关文章

  1. 结合BeautyEye开源UI框架实现的较美观的Java桌面程序

    BeautyJavaSwingRobot 结合BeautyEye开源UI框架实现的较美观的Java桌面程序,主要功能就是图灵机器人和一个2345网站万年历的抓取.... 挺简单而且实用的一个项目,实现 ...

  2. java桌面程序打包教程

    首先打包成j可执行的jar文件. . 接下来找到自己生成jar文件的路径就可以看到jar文件了,我的是在桌面: 在桌面新建一个文件夹(名字随便取,一般去项目名字) 上面是我取的文件夹名字,然后把资料文 ...

  3. 操作实践:Java桌面程序实现日志级别热修改

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 定位问题的时候往往需要动态修改日志级别并且不能影响业务的正常运行,也就是不能重启应用,此时就要使用到动态日 ...

  4. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  5. 《Java程序代理器》- java桌面程序运行的前端启动框架

    虽说让java直接在桌面运行,有很多方法,但最简单的还是有个exe双击执行 要java执行就得有虚拟机,但原本的虚拟机文件体积太大,不方便随同打包,精简的虚拟机功能又不全,指不定什么时候报错 所以正规 ...

  6. 发布Java桌面程序

    我拿了一份桌面工具的开源代码,修修改改,在elipse上运行,感觉良好,但到了发布应用程序,就傻眼了.我居然不知道咋发布! 呵呵,不愧是Java小白! 如果是微软阵营,直接就编译成exe了.但java ...

  7. 制作Java桌面程序的一键安装包

    一.简介 这个打包程序主要包含了对Java程序的普通打包.对程序的管理员权限设置.因为自己打包的时候要求程序在32位操作系统和64位操作系统下都能使用,所以有些打包步骤和设置都不相同.打包过程中主要使 ...

  8. 【exe4j】如何利用exe4j把java桌面程序生成exe文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  9. 躁!DJ 风格 Java 桌面音乐播放器

    本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 版桌面 DJ 音乐播放器. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列 ...

随机推荐

  1. swift学习——枚举

    swift枚举 1. 枚举基本语法 enum Method { case Add case Sub case Mul case Div } 也可以使用一种更简单的写法 enum Method1{ ca ...

  2. 一次执行两个npm "start": "concurrently 'npm:dev' 'npm:json-server'"

    用的这个程序 concurrently 说是再有异步的时候,&& 就不好使,而且&& 也不能执行npm 只能执行命令 官方地址:https://www.npmjs.co ...

  3. QT+创建两个不相干的窗口实现一个显示一个不显示

    因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget subWidget.cpp文件 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include & ...

  4. AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

    一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...

  5. JavaEE-03 JSP数据交互02

    学习要点 application pageContext JSP对象作用域 cookie application 作用 类似于系统的“全局变量”,用于在同一个服务器内的所有用于之间的数据共享,对于整个 ...

  6. excel数据比对,查找差异

    1.选中需比对的数据 2.开始->条件格式->突出显示单元格规则->重复值 3.选择唯一值,点击确定 4.结果展示 5.颜色标识的即:不同值

  7. Angular缺少 FormsModule

    虽然 ngModel是一个有效的 Angular 指令,不过它在默认情况下是不可用的. 解决方法: 在根模块引入FormModule import { FormsModule } from '@ang ...

  8. adb 调试真机 wait for device 错误解决办法

    起因 真机测试,使用adb安装和卸载应用时,出现wait for device. 解决办法 拔掉USB重新插入即可.

  9. excel组装sql

    ="INSERT INTO TABLE_XXXX (COLUMN_1, COLUMN_2, COLUMN_3, COLUMN_4, COLUMN_5, COLUMN_6, COLUMN_7, ...

  10. python 连接docker

    发现15年写过的一小段,先mark一下,后续玩儿起来 import docker c = docker.Client(base_url='unix://var/run/docker.sock',ver ...