本文导读
- Java SE 项目通常会用来封装工具类,此时如果要打包(Jar包),建议使用Maven更加简单,本文不做描述
- Java SE 项目如果使用了awt、swing,Java FX,则可以用来做GUI程序;否则可以做普通的后台程序,即不需要用户界面的程序。无论哪种都应该导出为可执行Jar文件,即类似exe程序一样,双击即可运行。可执行Jar程序放到任何安装了Java JRE或者JDK电脑上双击都能运行
- 本文以一个Java SE 普通后台程序和一个Java FX GUI程序为例进行说明
Java SE 应用
新建应用
应用编码
- 程序很简单,以后双击jar文件时,就会写日志,支持用户输入命令行参数,用户输入什么,全部打印到日志文件中
package com.lct.utils;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;
/**
* Created by Administrator on 2018/6/29 0029.
* 日志工具类
*/
public class LogWmxUtils {
private static final String LOG_DIR_PATH;
static {
ResourceBundle resourceBundle = ResourceBundle.getBundle("system");
LOG_DIR_PATH = resourceBundle.getString("logDirPath");
}
/**
* 写入日志
*
* @param message
*/
public static final void writeLine(String message) {
try {
if (StringUtils.isNotBlank(message)) {
File logDir = new File(LOG_DIR_PATH);
if (!logDir.exists()) {
logDir.mkdirs();
}
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String logName = simpleDateFormat1.format(new Date());
String messageHead = simpleDateFormat2.format(new Date());
File logFile = new File(logDir, logName + ".log");
FileWriter fileWriter = new FileWriter(logFile, true);
fileWriter.write(messageHead + ":" + message + "\r\n");
fileWriter.flush();
fileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.lct.main;
import com.lct.utils.LogWmxUtils;
import java.util.concurrent.TimeUnit;
/**
* Created by Administrator on 2018/6/29 0029.
* 应用程序入口
* 程序执行完成后,就会自动退出
*/
public class MainApp {
public static void main(String[] args) {
try {
/** 主要介绍方式,所以编码很简单*/
StringBuffer stringBuffer = new StringBuffer();
if (args != null && args.length > 0) {
stringBuffer.append("User input parameters:");
for (String arg : args) {
stringBuffer.append(arg + " ");
}
} else {
stringBuffer.append("User input parameters are empty");
}
LogWmxUtils.writeLine(stringBuffer.toString());
/** 延时10秒,模拟程序执行任务*/
TimeUnit.SECONDS.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
生成jar可执行文件
运行测试
- 可以将此 可执行jar文件 拷贝到任意安装了Java 环境的电脑上运行,如下所示双击运行之后,可在任务管理器中看到一个"javaw.exe"的虚拟机进程
- 如果china.jar在已经运行的情况下,再次双击运行时,则会新开进程进行运行,这时任务管理器就会看到多个进程在运行
Java FX应用
新建项目
生成jar可执行文件
- 下面是它默认打包的形式,用它可以直接生产exe程序,但是这里暂时先不讲,选中之后点击红色的横杆删除掉,现在不讲这种方式
运行测试
- 同样直接双击运行即可,可以看到窗口,也可以看到任务管理器中的javaw.exe进程
- 同样应用中可以做任意操作,如通信,网络编程,文件上传下载,UDP监听等等,照样mian方法可以接收参数