【问题标题】:Executing java program with batch批处理执行java程序
【发布时间】:2014-10-14 22:38:03
【问题描述】:

我有创建项目的任务。我已经对所有内容进行了编程,但有人告诉我创建一个在控制台上执行我的程序的批处理。 我的问题是包含外部 jar,因为我几乎没有批处理文件的经验。

我的文件夹结构是

projectFolder{

srcFolder{...}

libFolder{lib1.jar; lib2.jar; ...}

resFolder{...}

binFolder{start.bat; Main.class; 

toolsFolder{Tool.class; ...} 

 ...}

我只知道它可以包含“java Main”,但不包含其他内容,因此非常感谢您帮助我的批处理文件应该是什么样子:)

编辑:

我也从其他项目中得到了一个例子,但我几乎一无所知:/

运行.bat: @echo 关闭

setlocal

set VM_MEMORY=1280m 

call runjava.bat %0 de.usu.skm.stats.Statistics %1 %2 %3 %4

endlocal

java.bat:

break off


if exist init.bat call init.bat


if not "%VM_MEMORY%" == "" goto SETVMOPTS

set VM_MEMORY=96m


:SETVMOPTS

rem USER_TIMEZONE must be set when you are using the ojdbc5 Oracle driver with 9i (and maybe 10i)

rem set USER_TIMEZONE=-Duser.timezone=CET

set USE_IPV4=-Djava.net.preferIPv4Stack=false

set VM_OPTS=-server -Xmx%VM_MEMORY% -Djava.security.policy=gatekeeper.policy 
-Djava.rmi.server.useCodebaseOnly=true -Djavax.net.ssl.keyStore=keystore 
-Djavax.net.ssl.keyStorePassword=gatekeeper -Djavax.net.ssl.trustStore=keystore 
-Djavax.net.ssl.trustStorePassword=gatekeeper 
-Dsun.net.client.defaultConnectTimeout=5000 -Dsun.net.client.defaultReadTimeout=20000 
-Dsun.net.inetaddr.ttl=10 %USE_IPV4% -Dzookeeper.preAllocSize=2048 
-Dzookeeper.authProvider.1=de.usu.ucp.UcpAuthenticationProvider -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dorg.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false -DJAVA_HOME="%JAVA_HOME%" -Djava.io.tmpdir=../temp -Dorg.terracotta.quartz.skipUpdateCheck=true


:SETJAVA

if "%JAVA_HOME%" == "" goto NOJAVAHOME

rem echo Using JAVA_HOME %JAVA_HOME%

set JAVA_CMD="%JAVA_HOME%\bin\java.exe"

goto RUNJAVA



:NOJAVAHOME

echo WARNING: JAVA_HOME variable not set

set JAVA_CMD=java


:RUNJAVA

%JAVA_CMD% %VM_OPTS% -Dde.usu.toolname=%1 -Dde.usu.bootstrap.class=%2 
-Dde.usu.bootstrap.debug=%BOOTSTRAP_DEBUG% -cp bootstrap.jar  de.usu.bootstrap.Bootstrap %3 %4 %5 %6 %7 %8 %9


:END

break on

【问题讨论】:

标签: java batch-file


【解决方案1】:

假设您知道如何将程序导出为可运行的 jar(右键单击项目 - 导出 - java - Runnable JAR 文件),您可以创建一个新文件并将其扩展名更改为 .bat

假设您的 .jar 与 .bat 文件位于同一位置。

写入蝙蝠:

@echo off

java -jar "YOUR_JAR_NAME.jar"

YOUR_JAR_NAME 必须替换为您生成的 jar。

启动命令提示符(Win 键 + R 并键入 cmd),浏览 .bat 文件的路径并通过键入 bat 文件的名称及其扩展名来执行它。它应该启动您的 .jar 文件。

【讨论】:

  • 感谢您的回答,但一开始就创建一个罐子是唯一的方法吗?当我被告知任务是什么时,听起来我应该在不使用罐子的情况下完成它,除了我必须包含的已经存在的罐子:§
  • 嗯,您可以通过提供 Main.class 文件的路径或使用 javac 命令运行 Main.java 来运行它而无需将其打包为 jar
  • 你能写一个简短的例子吗? :) 抱歉,但在这方面,我的经验真的很少:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 2014-08-21
  • 1970-01-01
相关资源
最近更新 更多