Link to home
Start Free TrialLog in
Avatar of AndyC1000
AndyC1000

asked on

Batch file creation

Hello,

I'm trying to create a batch file based on a JAVA Eclipse project I have running.

I've created a text file (test.bat)

I have a number of inputs in my run configuration.  

Program Arguments:
Path to input folder - C:/Eclipse/Workspace/ProjectName/Input

VM Arguments:
-DlogFile_var=C:/temp

Unsure of how to set it up.  Are there any good references you could point me towards?

Calling the main class etc.

I'll be providing the app in a zip file that the user will extract to their computer.  The user will update the batch file with the path to the input folder and other settings.
Thanks
ASKER CERTIFIED SOLUTION
Avatar of for_yan
for_yan
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
If you really want to install big appliactions then you could go for special tools
like InstallAnywhere or InstallShield, but if you are deploying for limited number of people
within your company then batch file is quite fine.

As I mostly write programs for folks within one site of one company, I prefer to put application classes to a folder on the fileshare,
create batch file also on that share and then  each client just needs to have shortcut to that batch
file on his/her desktop. I am even using Java virtual machine from the same fileshare - it does take
longer time to launch, but the great benefit is that I'm not dependent on their individual VMs.
I'm sure no experts will recommend you this way, but it works for me and for dozens of my clients
for about 10 years with minimum disruptions and pain. And when I need to upgrade, I just change the code
in one place. Of course if your users are in different places and sites and they are very numerous - then it is another story.

 
SOLUTION
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of AndyC1000
AndyC1000

ASKER

This is the batch file I've created.  Not sure where the issue is, any ideas?  It's not the running app.  

@ECHO OFF
ECHO STARTED Batch..

if not "%JAVA_HOME%" == "" goto javaHomeAlreadySet
for %%P in (%PATH%) do if exist %%P\java.exe set JAVA_HOME=%%P..\
:javaHomeAlreadySet


:: Directory and file locations
SET args[0]= data/post/input/State :: Program arguments

SET -DprocessAll=true  :: VM argument
SET -DprocessEns=true ::VM argument
SET -DmissingVal="-1" ::VM argument
SET -DlogFile_var=C:/temp ::VM argument

:: Date for log file (not currently used)
FOR /F "tokens=*" %%A IN ('DATE/T') DO FOR %%B IN (%%A) DO SET Today=%%B
FOR /F "tokens=5 delims= " %%A in ('echo ^| time ^| find "current" ') DO FOR %%B IN (%%A) DO SET Now=%%B
FOR /F "tokens=1-3 delims=/-" %%A IN ("%Today%") DO (
    SET Day=%%A
    SET Month=%%B
    SET Year=%%C
)
FOR /F "tokens=1-3 delims=:.-" %%A IN ("%Now%") DO (
    SET Hour=%%A
    SET Min=%%B
    SET Sec=%%C
)

:: Read and convert output
ECHO STARTING 

:: How to run program here-->
java -cp /src/csi/cl/da/post/WSAdaptor.java

ECHO FINISHED READING and converting output

:END
ECHO ...End Batch
@ECHO ON

Open in new window




in the run command after -cp you should have the classpath argument, the calss stating excutin
(with main method) should be separate arguument
Something like that:
java -cp (here your classpath without spacses enumartion of jar failes usually)    (here space)  com.mypackage.MyMainClassName
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
In the example above after -classpath you see a buch of jars, then after space your main calss ij this case
org.apache.catalina.startup.Bootstrap  and the argument for that class (in this case start)