Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BAT file to create Java CLASSPATH

I want to distribute a command-line application written in Java on Windows.

My application is distributed as a zip file, which has a lib directory entry which has the .jar files needed for invoking my main class. Currently, for Unix environments, I have a shell script which invokes the java command with a CLASSPATH created by appending all files in lib directory.

How do I write a .BAT file with similar functionality? What is the equivalent of find Unix command in Windows world?

like image 910
Binil Thomas Avatar asked Feb 07 '09 16:02

Binil Thomas


People also ask

How do I compile a Java classpath file?

Compile Java program using -classpath option:javac -classpath ~/jjava/class -d ~/jjava/class TimeTest. java<cr>--This command tells the javac to compile TimeTest. java and put the resulted bytecodes in ~/jjava/class/.

What is %% in a batch file?

Use double percent signs ( %% ) to carry out the for command within a batch file. Variables are case sensitive, and they must be represented with an alphabetical value such as %a, %b, or %c. ( <set> ) Required. Specifies one or more files, directories, or text strings, or a range of values on which to run the command.


1 Answers

You want to use the for loop in Batch script

 @echo off  setLocal EnableDelayedExpansion  set CLASSPATH="  for /R ./lib %%a in (*.jar) do (    set CLASSPATH=!CLASSPATH!;%%a  )  set CLASSPATH=!CLASSPATH!"  echo !CLASSPATH! 

This really helped me when I was looking for a batch script to iterate through all the files in a directory, it's about deleting files but it's very useful.

One-line batch script to delete empty directories

To be honest, use Jon's answer though, far better if all the files are in one directory, this might help you out at another time though.

like image 113
Henry B Avatar answered Sep 23 '22 09:09

Henry B