I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project any way you please.
java.exe X … -cp … etc.without the .class , not:
java.exe X.class … -cp … etc.Windows has a mechanism for adding extra junk to the command line for extension associations, but not for stripping the extension. To invoke a jar file from the command line, happily you don’t need to strip the .jar extension, like this.
java.exe -jar X.jar -cp … etc.This means you can directly set up .jar association like this:
Then to set up your .class association you write:
java.exe C:\mdir\X … -cp … etc.What were these turkeys at Sun thinking? So one other thing invoke has to do is change the current directory to where the class file lives, so that the generated unqualified class name will work on the java.exe command line.
Now what happens when the class in a package? The class name is something like com.mindprod.mypackage.X . The relationship between this and the filename is tenuous. You might run screaming from the room.
Alternatively you could disassemble java.exe and fix it. If you want to get fancy, you should be able to configure the directory where java.exe lives, and have invoke automatically add some standard gobbledegook to the command line for you, either by hard coding it in, or by putting it in an INI file, or by taking it off a special invoke command line switch.
SmartJ took this idea considerably further. Unfortunately it does not support Java 1.2 or 1.3. Perhaps you might eventually write a SmartJ capable of dealing with all JVMs.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 4,070. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | ||
| http://mindprod.com/project/javainvoker.html | J:\mindprod\project\javainvoker.html | ||