Path: csiph.com!usenet.pasdenom.info!news.albasani.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Tim Slattery Newsgroups: comp.lang.java.programmer Subject: Re: Self-executing JAR Date: Tue, 17 Apr 2012 10:49:39 -0400 Organization: A noiseless patient Spider Lines: 67 Message-ID: <9g0ro7dmfsd0pdcdmrb9cgrk77agh2e4jh@4ax.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Info: mx04.eternal-september.org; posting-host="TED293GKgPdO7E2ekieVRQ"; logging-data="32645"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Zo12O3KYF3XIYvmp1jJ24ObvWAAExs8I=" X-Newsreader: Forte Agent 6.00/32.1186 Cancel-Lock: sha1:kim5nQeHHlgdlqHBSbwl72pkjMw= Xref: csiph.com comp.lang.java.programmer:13613 Tim Slattery wrote: >Tim Slattery wrote: > >>I must be doing something stupid. >> >>I have a very simple command-line program in Eclipse, just a >>System.out.println("Hello World"). It runs just fine in the IDE. So I >>use File|Export|Export, and select "Runnable JAR file". A JAR is >>created. >> >>And it doesn't work. I can double-click on it, or I can call it from a >>command line. I get nothing. No "Hello world", no error message, no >>nothing. What have I missed? > >More info: >Here's the class: > > >public class Main { > public static void main(String[] args) > { > System.out.println("Here I am!"); > try > { > SimpleDateFormat sdf = new >SimpleDateFormat("MM/dd/yyyy"); > sdf.setLenient(false); > Date mydate = sdf.parse("2/29/1900"); > System.out.println("Good date: " + mydate.toString()); > } > catch (ParseException ex) > { > System.out.println("ParseException: " + >ex.getMessage()); > } > > } > > /* (non-Java-doc) > * @see java.lang.Object#Object() > */ > public Main() { > super(); > } > >I export "Main.jar". To invoke from the command line, I type >"Main.jar". Nothing but a command prompt. I have jedit installed. If I >go to its directory and type "jedit.jar", it jumps right up. Therefore >I assume that the JRE can be found. It looks like the problem is not that the program doesn't run, but that the output from "System.out.println" is being written on the wind. I included code to write a small file, and that file appears when I double-click the jar file. So the program runs, but where is the Standard Output file that System.out.println is supposed to write to? I could believe that it's on a console window that vanishes immediately when I start it be double-clicking it. But when I open a command window, navigate to the jar's directory and type "main.jar", the exact same thing happens. The file is created, but the System.out output is nowhere to be seen. -- Tim Slattery Slattery_T@bls.gov