Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
启动Java程序的.bat框架_Java_Windows_Batch File - Fatal编程技术网

启动Java程序的.bat框架

启动Java程序的.bat框架,java,windows,batch-file,Java,Windows,Batch File,有没有人发布过一个很好的Windows.bat框架脚本来初始化简单的Java应用程序?我正在寻找一个框架,它可以帮助我在JAVA_主页不存在的情况下设置默认JAVA_主页、类路径、JVM初始化参数、应用程序参数、作为参数传递的奇怪字符句柄等 Linux发行版在/etc/init.d/skeleton中提供了一个示例初始化脚本,如果需要,可以非常方便地创建自己的初始化脚本。我正在寻找类似于在Windows中启动简单Java应用程序的解决方案。我在这里找到了一个更好的解决方案: 这是一个maven插

有没有人发布过一个很好的Windows.bat框架脚本来初始化简单的Java应用程序?我正在寻找一个框架,它可以帮助我在JAVA_主页不存在的情况下设置默认JAVA_主页、类路径、JVM初始化参数、应用程序参数、作为参数传递的奇怪字符句柄等


Linux发行版在/etc/init.d/skeleton中提供了一个示例初始化脚本,如果需要,可以非常方便地创建自己的初始化脚本。我正在寻找类似于在Windows中启动简单Java应用程序的解决方案。

我在这里找到了一个更好的解决方案:


这是一个maven插件,可以生成运行良好的Linux和Windows shell脚本。

这是我使用的,因为我有一套用Java编写的、由批处理服务器(Tivoli)管理的大量实用程序

我在每个环境中都有一个文件(TEST、STAGE、PROD),如果没有设置环境变量,各个批处理文件将调用第一个文件

:: dbUtils_env.cmd
::
:: This file is used to define the dbUtils environment variables
::  Author: MLS
::
::  History:
::
::  MLS 06/06/2011  Genesis.

::@echo off

:: The dbUtils_env valid values are TEST, STAGE, PROD

set dbUtils_env=TEST
set dbUtils_home=C:\dbUtils
set context_table=%dbUtils_home%\dat\context.dat
set oracle_home=C:\app\myuser\product\11.2.0\client_1
set java_home=c:\Program Files\Java\jdk1.7.0_79\jre

:end

如果没有找到合适的环境变量,则每个调用批处理脚本(位于同一目录中)都将调用它

:: dbImport.cmd
::
:: This file is used to execute the dbImport java program
::
::  Author: MLS
::
::  History:
::
::  MLS 06/06/2011  Genesis.
::

@echo off

set ctxId=%1%
set tmplName=%2%

if "%ctxId%" == "" goto usage
if "%tmplName%" == "" goto usage

if NOT DEFINED dbUtils_home call %~dp0%dbUtils_env.cmd
if NOT DEFINED context_table call %~dp0%dbUtils_env.cmd

:: Check to see if setup was successful

if NOT DEFINED dbUtils_home goto envExit
if NOT DEFINED context_table goto envExit

set dbimport_jar=%dbUtils_home%\bin\dbImport.jar
set opencsv_jar=%dbUtils_home%\bin\opencsv-2.3.jar
set mssql_jar="C:\Program Files\Microsoft SQL Server JDBC Drivers\sqljdbc_3.0\enu\sqljdbc4.jar"
set ora_jar=C:\app\myuser\product\11.2.0\client_1\ojdbc6.jar
set db2_jar="C:\Program Files\IBM JDBC Driver\jdbc_sqlj\db2jcc4.jar"
set java_switches=

java %java_switches% -cp %dbimport_jar%;%opencsv_jar%;%ora_jar%;%mssql_jar%;%db2_jar% com.myplace.dbimport.DBImport %*

if %ERRORLEVEL% NEQ 0 goto errorExit

goto end

:envExit

echo Call to dbUtils_env.cmd failed, exiting...
exit /b 1

:usage

echo.
echo Usage: dbImport.cmd ^<Context ID^> ^<Template Name^> [-procParam=\proc1,...,procN\"]
echo          ex. ^>dbImport dbCtx myTemplate
echo.
exit /b 1

:errorExit
echo.
echo dbImport exited with an error, aborting...
echo. 
exit /b 1

:end
exit /b 0

您想如何输入名称和参数?在windows中,设置“path=your_directory”非常简单。@Hackerdarshi我不确定您在说什么“名称”。我想到了一个非常简单的方法,手动覆盖这个骨架/模板文件中的参数。name表示类/jar的名称file@Norsk这可能很简单,是的。无论如何,我正在寻找一个框架,以一种更“标准化”的方式,处理与奇怪的Windows路径相关的问题。我看到Java应用程序服务器通常有一个巨大的.bat脚本文件,当有人启动服务器时,它可以正确地配置服务器。我想可能有一些经验教训可以带到这个框架文件中,我很乐意利用这些经验教训。
TEST.MAIL.server=mycompany.smtp
TEST.MAIL.sender=TheBatchScheduler@mycompany.com
TEST.IMPORT.filename=%dbUtils_home%\\import\\SomeTestFile.txt

STAGE.MAIL.server=mycompany.smtp
STAGE.MAIL.sender=TheBatchScheduler@mycompany.com
STAGE.IMPORT.filename=%dbUtils_home%\\import\\SomeStageFile.txt

PROD.MAIL.server=mycompany.smtp
PROD.MAIL.sender=TheBatchScheduler@mycompany.com
PROD.IMPORT.filename=%dbUtils_home%\\import\\MyProdFile.txt