win下 新建bat文件 启动 java应用服务

本文介绍了如何在Windows环境下通过bat文件启动一个包含依赖包和其他配置文件的Java jar包,包括设置环境变量、指定类路径、配置属性等步骤。

rem ---------------------------------------------------------------------------

rem window下 新建bat文件来启动一个可执行程序的jar包,其中包含依赖包及其他相关配置文件

 

rem  main入口 sspm.fault.messagectr.Server
rem  主jar包  sspm.fault.messagectr.jar

 

rem  java应用服务目录结构
rem         sswmFault
rem            |_ bin    存放dataserver.bat文件
rem            |_ lib    存放主jar包 及依赖包
rem            |_ conf   存放相关配置文件
rem            |_ log    存放系统输出日志


rem $Id: dataserver.bat 302913 2011-12-9 15:05:01Z wpj $

rem ---------------------------------------------------------------------------
@echo off
cd ..
set APP_HOME=%cd%
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23
cd bin
start "" "%JAVA_HOME%\bin\java.exe" -classpath "%APP_HOME%\lib\sspm.fault.messagectr.jar" -Djava.ext.dirs="%APP_HOME%\lib" -Xrs -Xms100M -Xmx128M -DConfig="..\conf\dataserver.xml" -Dlog4j.configuration="file:..\conf\dataserver.log4j" sspm.fault.messagectr.Server

 

具体类(注意参数一一对应)

public class Server{

 public static void main(String[] args) {

  String xmlPath = System.getProperty("Config");
  if (xmlPath == null) {
   xmlPath = "./conf/dataserver.xml";
  }
  logger.info("xmlPath:" + xmlPath);
  if (System.getProperty("log4j.configuration") == null) {
   org.apache.log4j.BasicConfigurator.configure();
   org.apache.log4j.LogManager.getRootLogger().setLevel(Level.INFO);
  }
  BeanFactory beanFactory = new FileSystemXmlApplicationContext((xmlPath));
  beanFactory.getBean("server");
  logger.info("Server started!");
 }

}

### 部署和启动Java微服务项目的BAT脚本方法 在Windows环境下,使用BAT脚本部署并启动Java微服务项目是一种常见的操作方式,可以实现自动化部署、启动和管理多个Java微服务。 #### 1. **创建BAT脚本启动Java微服务** BAT脚本可以通过`start`命令启动多个Java项目,每个项目可以在独立的命令行窗口中运行,并设置各自的标题,以便区分不同的微服务。 示例脚本如下: ```bat @echo off call mvn clean call mvn package start cmd /c "title ws-gateway && java -jar .\ws-gateway\target\ws-gateway-0.0.1-SNAPSHOT.jar" start cmd /c "title ws-manager && java -jar .\ws-manager\target\ws-manager-0.2.3.jar" start cmd /c "title ws-minigram && java -jar .\ws-minigram\target\ws-minigram-0.1.0.jar" pause ``` 此脚本首先执行`mvn clean package`清理并打包项目,然后使用`start cmd /c`命令分别启动三个Java微服务,并通过`title`设置每个窗口的标题,以便于识别[^1]。 #### 2. **为每个微服务创建独立BAT文件** 为了便于管理和维护,建议为每个微服务创建一个独立的BAT文件。这种方式可以确保每个服务的配置和路径独立,避免相互干扰。 例如,为`education`微服务创建的BAT文件如下: ```bat E: cd E:\safeServer title education java -Xms512m -Xmx512m -jar education-1.0.0.jar pause ``` 此脚本切换到项目目录并设置JVM内存参数,然后运行对应的JAR文件[^2]。 #### 3. **使用BAT脚本重启Java程序** 在Windows Server环境中,可以通过BAT脚本实现Java程序的重启。该脚本会先查找并终止当前运行的Java进程,然后复制新的JAR文件并重新启动服务。 示例脚本如下: ```bat tasklist.exe | findstr java > E:\www\www.xxx.com\oldpid.txt for /f "delims=" %%a in ('type E:\www\www.xxx.com\oldpid.txt') do set a=%%a tskill %a% copy C:\Users\Administrator\xxx-1.0.0-SNAPSHOT.jar E:\www\www.xxx.com mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit nohup java -jar -Xms128m -Xmx512m E:\www\www.xxx.com\ocepay-1.0.0-SNAPSHOT.jar >> E:\www\www.xxx.com\log.txt 2>&1 & ``` 此脚本首先查找并终止当前运行的Java进程,然后复制最新的JAR文件到目标目录,并使用`nohup`命令在后台运行新的Java服务,同时将日志输出到文件中[^3]。 #### 4. **日志记录与后台运行** 在生产环境中,通常希望Java服务在后台运行,并将日志输出到文件以便后续分析。可以使用`nohup`命令结合重定向实现该功能。 示例命令如下: ```bat nohup java -jar -Xms128m -Xmx512m myservice.jar >> myservice.log 2>&1 & ``` 此命令将标准输出和错误输出重定向到`myservice.log`文件中,并在后台运行Java服务。 #### 5. **注意事项** - **路径问题**:确保BAT脚本中的路径正确,尤其是在多层级目录结构中。 - **JDK安装**:确保系统中已安装JDK,并且`java`命令已添加到系统环境变量中。 - **内存设置**:根据服务器配置合理设置JVM内存参数(如`-Xms`和`-Xmx`)。 - **端口冲突**:确保每个微服务使用的端口不冲突,否则会导致启动失败。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值