导航:首页 > 配服务器 > 服务器如何后台运行jar包

服务器如何后台运行jar包

发布时间:2022-08-29 18:45:50

❶ 如何运行和编译jar

一、源文件情况
源文件位置为:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java

前提:已安装 jdk ,并配置好环境变量。

二、过程
1、编译:
提示符进入 D:\temp 路径下,输入:javac com\ldq\WeatherDemo.java
生成类文件:WeatherDemo.class

2、打包:
提示符进入 D:\temp 路径下,输入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class
生成档案文件:WeatherDemo.jar

3、修改 MANIFEST.MF 文件:
由于引用了外部的类,所以要添加引用类的路径,即修改MANIFEST.MF文件。保存如下内容到 D:\temp下,文件名 MANIFEST.MF

Manifest-Version: 1.0
Sealed: true
Main-Class: com.ldq.WeatherDemo
Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar

注意在后面空两行。
提示符进入 D:\temp 路径下,输入:jar umf MANIFEST.MF WeatherDemo.jar
执行时会提示更新的内容。

4、添加包含引用类的相应文件:
在 D:\temp 路径下,新建 lib 文件夹,讲对应的 jaxrpc.jar ... 拷入其中,此时,即可双击(或在提示符下输入:java -jar WeatherDemo.jar)运行 WeatherDemo.jar 文件了。

三、总结
双击运行 jar 文件时,虚拟机会到 jar 文件中下找 .MF 文件,找到对应的 Main-Class 运行,引入的类在 Class-Path 所指路径。
事实上可以利用 winrar或winzip 工具打开 jar 文件,直接将修改好的 MANIFEST.MF 拷入覆盖,class文件也可以做同样的操作,节省了输入复杂难记的命令。另外,对于 javaME 生成的 jar 文件,限制严格些,MANIFEST.MF 文件中有个文件大小的字段,可以先保存,查看文件大小,再修改保存。
另一种方法是通过 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此时,所有的引用类都被打包在 jar 文件里了。

❷ 如何在ubuntu后台系统中部署jar包

1 # 使用域名或者IP,启动之后就可以这个域名或IP访问网站了 port: 80 contextPath: spring: profiles: active: proction thymeleaf: cache: true jade4j: caching: true dataSource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1/spring_blog username: root password: hibernate: dialect: org.hibernate.dialect.MySQLDialect hbm2ddl.auto: update show_sql: false redis: host: localhost port: 6379 4. 如何在Ubuntu中后台运行Spring Boot应用? 推荐使用 nohup 这个命令。 cd /root/spring-blog/current nohup java -jar SpringBlog-0.1.jar --spring.config.location=application-proction.yml \ > ../logs/proction.log 2> ../logs/proction.err & 在Ubuntu还可以 /etc/init.d 目录下新建一个脚本,把SpringBlog作为service来运行,这样不用每次都打这么繁琐的命令了。新建一个 /etc/init.d/spring_blog 文件,内容如下: #!/bin/sh SERVICE_NAME=spring_blog HOME=/root/spring-blog PATH_TO_JAR=$HOME/current/SpringBlog-0.1.jar PID_PATH_NAME=/tmp/spring_blog.pid LOG=$HOME/logs/proction.log ERROR_LOG=$HOME/logs/proction.err CONFIG=$HOME/application-proction.yml case $1 in start) echo "Starting $SERVICE_NAME ..." if [ ! -f $PID_PATH_NAME ]; then cd $HOME/current nohup java -jar $PATH_TO_JAR --spring.config.location=application-proction.yml > $LOG 2> $ERROR_LOG & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stoping ..." kill $PID; echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; restart) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stopping ..."; kill $PID; echo "$SERVICE_NAME stopped ..."; rm $PID_PATH_NAME echo "$SERVICE_NAME starting ..." cd $HOME/current nohup java -jar $PATH_TO_JAR --spring.config.location=application-proction.yml > $LOG 2> $ERROR_LOG & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is not running ..." fi ;; esac 现在就可以使用service的方式来运行网站了。 sudo service spring_blog start sudo service spring_blog stop sudo service spring_blog restart 5. 在本地自动化部署网站到远程服务器 在本地我用了一个shell脚本和一个python脚本来配合自动化部署。 deploy.sh 使用 gradle 的命令发布jar包,使用 scp 命令吧jar包上传到服务器上; deploy.py 使用 SSH 远程登录服务器,并在服务器上执行部署命令。 # deploy.sh #!/bin/bash SERVER="your_server_ip" JAR="build/libs/SpringBlog-0.1.jar" echo "Building $JAR..." ./gradlew build echo "Upload $JAR to server $SERVER..." scp $JAR root@$SERVER:/root/spring-blog/ python deploy.py deploy.py 主要使用了一个 paramiko 库,用于 SSH 远程登录服务器,并执行命令。这个脚本会把服务器上 /root/spring-blog/current/SpringBlog-0.1.jar 备份到 /root/spring-blog/releases 中,并把新发布的jar包放到 /root/spring-blog/current 中,然后重启 spring_blog 服务。 #!/usr/bin/python import paramiko import threading import time ip = 'your_server_ip' user = 'root' password = '' jar = 'SpringBlog-0.1.jar' home='/root/spring-blog' current=home+"/current" releases=home+"/releases" def execute_cmds(ip, user, passwd, cmd): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,22,user,passwd,timeout=5) for m in cmd: print m stdin, stdout, stderr = ssh.exec_command(m) # stdin.write("Y") out = stdout.readlines() for o in out: print o, print '%s\tOK\n'%(ip) ssh.close() except : print '%s\tError\n'%(ip) if __name__=='__main__': print 'Start deploying %s to server %s'%(jar, ip) now = time.strftime("%Y%m%d%H%M%S") cmd = [ 'echo Stop spring_blog service... && service spring_blog stop', 'echo Flush all redis cache data... && redis-cli -r 1 flushall', 'echo Stop redis server... && service redis_6379 stop', 'echo Use new jar... ' + \ ' && mv ' + current + '/' + jar + ' ' + releases + '/' + now + '_' + jar , 'mv ' + home + '/' + jar + ' ' + current + '/' + jar, 'echo Stop redis... && service redis_6379 start', 'echo Start spring_blog service... && service spring_blog start ' + \ ' && echo All done.' ] a=threading.Thread(target=execute_cmds, args=(ip,user,password,cmd)) a.start() 配置完以后,在本地写完代码就可以运行 ./deploy.sh 一键部署到远程服务器了。

❸ 在tomcat上怎么运行jar包

在tomcat上运行jar包的方法如下:

1、首先,在tomcat界面中依次右击工程名,然后选择BuilPath,Configure buildPath:

❹ 如何把jar包做成在后台运行

写一个java文件导成jar包:

package com.helloservice.demo;

public class HelloService {

private static boolean stop = false;

public static void start(String[] args) {

System.out.println("start");

while (!stop) {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

}

System.out.println("running");

}

}

public static void stop(String[] args) {

System.out.println("stop");

stop = true;

}

public static void main(String[] args) {

if ("start".equals(args[0])) {

start(args);

} else if ("stop".equals(args[0])) {

stop(args);

}

}

}

两种方式:实现Deamon接口或者是实现stop和start方法

写一个installService.bat批处理文件:

set SERVICE_NAME=HelloService

❺ 如何运行jar文件

运行jar文件的具体操作步骤如下:

1、首先我们可以使用WinRAR压缩包来查看jar文件内容,前提是电脑上要先安装选WinRAR解压缩软件。选中jar包,点击鼠标右键,在弹出的菜单中选择用WinRAR打开

linux下如何部署可执行 jar包,并关闭此运行

前段时间刚刚接触了一下linux系统,本人表示第一次使用无从下手,不像windows操作系统是可视化的,简单的创建文件或文件夹都要通过写命令才能将其完成,由于工作需要,不得不自学linux ,先是自学常用的一些命令,然后再部署可执行jar,以下是具体的操作步骤。

1、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。
2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。

nohup java -jar getCimiss-surf.jar >consoleMsg.log 2>&1 &
其中:nohup命令的作用就是让程序在后台运行,不用担心关闭连接进程断掉的问题了,consoleMsg.log文件前提要创建好。
3、如果想杀掉运行中的jar程序,查看进程命令为:

ps aux|grep getCimiss-surf.jar
将会看到此jar的进程信息

data 5796 0.0 0.0 112656 996 pts/1 S+ 09:11 0:00 grep --color=auto getCimiss-surf.jar data 30768 6.3 0.4 35468508 576800 ? Sl 09:09 0:08 java -jar getCimiss-surf.jar
其中30768则为此jar的pid,杀掉命令为

❼ 如何在Linux下运行jar包的方法

当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行。首先想到的可能就是通过 java -jar xxx.jar 的方式来运行我们的jar包,程序运行正常,但是窗口被锁定,当我们关闭窗口或Ctrl + C打断程序运行时,程序就会退出,这肯定不是我们想要的,下面我介绍几种Linux下后台启动jar包的方法

优化方法一:

& 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出

优化方法二:

nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行

当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

优化方法三:

 > /usr/local/temp.txt 表示将所有启动的日志信息记录到temp.txt文件中

❽ Linux 运行jar包怎么后台运行

使用nohup命令,后台运行即可,及时关闭putty、xshell等终端窗口也不会关闭jar程序
例:nohup java -jar xxx.jar

阅读全文

与服务器如何后台运行jar包相关的资料

热点内容
怎么把pdf导入iphone 浏览:565
7z后缀文件解压缩 浏览:904
服务器为什么禁用三叉戟 浏览:934
解压小视频卸妆或化妆 浏览:554
太监程序员 浏览:56
java编译选项包括 浏览:432
安卓手机如何导其他手机的通讯录 浏览:931
离心式压缩机品牌 浏览:167
plc编程推荐什么电脑 浏览:935
安卓最新什么系统版本 浏览:193
甜颜app真人交友在哪里下载 浏览:335
电脑里好乱很多文件夹都是空 浏览:352
数学一窍不通可以学模具编程吗 浏览:271
退休程序员练字 浏览:693
海光服务器什么架构 浏览:138
战斗命令要素 浏览:953
app上哪里可以开鞋子盲盒 浏览:82
python多线程计划 浏览:384
华为模拟加密门id禁卡 浏览:555
华为od服务器广播算法 浏览:354