注意要使用本例,需要将java程序打包成jar。
Windows 端
1、首先新建一个文件夹用于存放要用到的所有java程序,cmd进入到当前目录,编译, javac *.java 编译当前目录下所有java文件
2、del *.java #为了方便,删除当前目录下所有java文件
3、jar -cvf (生成jar文件名,如my.jar) . #注意有".",把当前目录下所有文件打包成my.jar
4、jar -xf my.jar . #解压my.jar包,
5、会发现当前目录多了一个META-INF文件,用记事本打开里面MANIFEST.MF,在最后一行添加"Main-Class: 包含main方法的类名",注意":"后有一个空格,示例"Main-Class: Main"最后一行之后需要敲上一个换行
6、del my.jar #删除当前jar包
7、jar -cMf my.jar . #不生成新的清单文件
到此准备工作就已经完成
Ubuntu服务器端:
在/lib/systemd/system添加一个service文件,名字自定义。格式:*.service,如 vim /lib/systemd/system/myProgram.service
以下为示例内容:
[Unit]
Description=My Java file Server #程序运行描述文件
[Service]
#path to executable jar.
ExecStart=/usr/bin/java -jar 文件绝对地址/*.jar [java程序运行时向main方法指定的参数,由自己的程序而定]
[Install]
WantedBy=multi-user.target
/
其中蓝色字体是根据自己程序而更改。到此工作已基本完成,只需下面两句,即可在Ubuntu中运行后台java服务
sudo systemctl daemon-reload #重新加载service
sudo systemctl enable myProgram.service #开机启动,可选操作
sudo systemctl start myProgram #运行服务
----------------------------------------------------------------------------
sudo systemctl status myProgram #服务运行状态
sudo systemctl stop myProgram #停止服务