Hello,World!

分步骤介绍如何在jdk7u80和Zhiqim Studio上编写一个简单的Hello,World!工程,并发布成可执行程序,分别演示在Windows和Linux上运行!

一、Hello,World!示例体验 JDK安装指南
  • 检查JDK,目前规约的JDK版本是jdk7u80。如果您已下载并安装JDK可忽略。
  • 下载示例执行程序,下载解压点击zhiqim.exe运行(要求50080和80两个端口不要被占用),使用CTRL+C关闭,体验Java的启动、运行和关闭效果。
<-- 点击下载JDK -->
64位机器下载:jdk-7u80-windows-x64.exe
32位机器下载:jdk-7u80-windows-i586.exe

<-- 点击下载Example执行程序 -->
ZhiqimHelloworld.zip
二、Hello,World!开发前准备
  • 下载Zhiqim Studio。
  • 下载Example工程源码,导入到Zhiqim Studio中,得到第三步工程结构。
<-- 点击下载Zhiqim Studio -->
64位机器下载:Zhiqim-Studio-Win64.zip
<-- 点击下载Example工程源码 -->
ZhiqimHelloworld_src.zip
三、Hello,World!源码工程结构
  • 源码目录[src]存在Java代码,Helloworld工程只有[org.zhiqim.example.Helloword]类。
  • JRE System Library约定的[JavaSE-1.7]环境。
  • Referenced Libraries引用核心包[lib/zhiqim.jar]。
  • 配置目录[conf]下配置必须的[conf/zhiqim.xml]。
  • 文档目录[document]存放工程文档和工程导出配置文件[export/project.exp.xml]。
  • 发布目录[release]存放导出的执行程序和源码。
  • ZhiqimHelloworld
  • src
  • org.zhiqim.example
  • Helloworld.java
  • JRE System Library [JavaSE-1.7]
  • Referenced Libraries
  • zhiqim.jar
  • conf
  • zhiqim.xml
  • document
  • lib
  • release
四、Hello,World!配置说明
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ZHIQIM-CONFIG PUBLIC "-//ZHIQIM //DTD Zhiqim-Config Configuration 1.5.0//EN" "https://zhiqim.org/xmldtds/zhiqim_config_1_5_0.dtd"> <zhiqim-config> <group id="boot" desc="系统启动引导配置"> <item key="name" value="Helloworld" type="protected" desc="系统名称" /> <item key="version" value="1.0" type="protected" desc="系统版本" /> <item key="port" value="50080" type="protected" desc="系统监听端口,用于启动监听和命令关闭工程" /> <item key="home" value="d:/Java/jdk1.8.0_202/" type="protected" desc="JDK根目录,路径符统一顺斜杠,MAC系统下该配置无效" /> <item key="process" value="zhiqim" type="protected" desc="使用的进程名,MAC系统下该配置无效" /> </group> <group id="service" desc="系统服务配置,有依赖时注意顺序,系统按顺序加载,按倒序销毁"> <item key="helloworld" value="org.zhiqim.example.Helloworld" type="protected" desc="Hello,World!服务"/> </group> </zhiqim-config>
五、Hello,World!编写Helloworld服务类
package org.zhiqim.example; import org.zhiqim.kernel.Servicer; import org.zhiqim.kernel.logging.Log; import org.zhiqim.kernel.logging.LogFactory; /** * HelloWorld服务 * * @version v1.0.0 @author zouzhigang 2016-12-21 新建与整理 */ public class Helloworld extends Servicer implements Runnable { private static final Log log = LogFactory.getLog(Helloworld.class); private Thread thread; @Override public boolean create() throws Exception { log.info("Hello, World! create!!!"); thread = new Thread(this); thread.start(); return true; } @Override public void run() { while (true) { log.info("Hello, World! running..."); try { Thread.sleep(1000); } catch (InterruptedException e) {//线程中断退出 break; } } } @Override public void destroy() throws Exception { log.info("Hello, World! destroy!!!"); //通知线程状态 thread.interrupt(); thread = null; //关闭前停5秒,演示关闭时销毁操作 log.info("5"); Thread.sleep(1000); log.info("4"); Thread.sleep(1000); log.info("3"); Thread.sleep(1000); log.info("2"); Thread.sleep(1000); log.info("1"); Thread.sleep(1000); } }
六、Hello,World!调试

配置调试信息

  • 在Zhiqim Studio菜单下按钮表中点击爬虫图标右边的下拉钮找开Degug Configurations,或菜单中找开/Run/Degug Configurations。
  • 在Degug Configurations对话框中,从左侧Java Applition中右键New,得到一个新的Application,修改名称ZhiqimHelloworld,选择Project为ZhiqimHelloworld,选择Main class中找到Zhiqim。保存或运行,下次即可直接选择创建好的ZhiqimHelloworld运行进入调试状态。
  • 未修改类结构(属性或方法名)时,只修改方法内代码,调试状态无需重启,极大方便定位问题

单步调试Helloworld

  • 在Helloworld类的create方法中增加断点。
  • 在Degug模式下运行ZhiqimHelloworld。
  • 通过F5/F6/F7/F8进行步骤跟踪,通过Variables视图查看对象值,通过Debug视图查看线程。
<-- debug配置 -->


<-- debug状态 -->

七、Hello,World!发布(导出执行程序和工程源码打包)
  • 选中工程[ZhiqimHelloworld],右键找到[Export]。
  • 如下图一所示,找到[Zhiqim]下的[知启蒙工程]。
  • 如下图二所示,根据导出向导,配置发布路径,发布名称、源码JAR包名称、和导出源码工程名称等。
  • 点击[Finish],导出向导根据配置运行,生成执行程序、源码打包等(注意控制台打印日志)
  • 选择保存或运行了导出向导,会在[document/export]目录下自动生成或覆盖[project.exp.xml]导出配置文件,下次导出则无需再编写导出配置项。


八、Hello,World!运行(Windows和Linux)

配置[/conf/zhiqim.xml]文件

  • [boot.port]的端口必须空闲,默认50080,您可以修改该值。
  • [boot.home]的JDK根目录,如果配置了请保证JDK安装正确。如果根据环境变量[JAVA_HOME]来配置请删除[boot.home]配置项。

Windows运行

  • 点击zhiqim.exe即启动工程,弹出一个Windows的控制台并显示日志。
  • 点击控制台关闭按钮或按下Ctrl+C键关闭工程。

Linux运行

  • 如果zhiqim.xml文件在Linux下文件是乱码,请尝试在Windows下记事本重新另存为UTF-8或ANSI(GBK),再上传到Linux,或在Linux下使用VIM的:set fileencoding=utz-8/GBK修改成Linux设置的编码)
  • 在Linux环境下,首次给zhiqim.lix文件增加执行权限(chmod +x zhiqim.lix)。
  • 在控制台下执行./zhiqim.lix即运行,输出日志到nohup.out。
  • 执行./zhiqim.lix -c关闭工程。
<-- Windows下运行 -->


<-- Linux下运行 -->