Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

MS SDK

Status
Not open for further replies.

Alastor

MIS
Aug 27, 1998
36
US
I'm using jexegen from the MS SDK to compile my .class file into and .exe. Now before anyone starts screeming about this being anti-Java and calling me a heretic, the reason I am doing this is so I can get my servlet to run off my IIS4 server without using third party software (such as JRun). However, when I run the .exe file I get the following error:<br>
<br>
&quot;CGI Error<br>
<br>
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:<br>
<br>
Unable to start the application. Unable to locate class file.&quot;<br>
<br>
When I run the .class file with JRun the servlet works fine. Anyone have any Ideas?
 
I'm also using jexegen on the client side, however, the tool just compiles that class into an EXE. There is no way I know of compiling a full-blown, independent EXE. towerJ might be useful if you were on Unix but it looks like you're using Windows.

Also, if you're looking for speed, just stick with JRun. As far as I can tell, the compiled EXE looks for the Microsoft JRE and still uses the standard API. I have seen no real speed difference (as long as I use the MS JRE. Sun's is absolutely horrifyingly slow on Windows!) This is because the file is STILL being interpreted.

The only reason I use the MS Java SDK is that I'm programming for Windows, and I can only get acceptable performance using its JRE.

Down to the point, my advice would be to use JRun with the class file, hope this helps.

-Ryan

PS. If you look in the EXE itself, like in a text editor, you'll see a little ways down some error messages (like Microsoft JRE not found, others of this sort.) As you see, it always needs the MS VM.

This is why your error said that it could not locate a class file: it is still being interpreted.
 
A Servlet must run in a Web Container. It relies on services that the Web Container provides exe or not, it will never run outside a Web Container.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top