Meaningless Drivel is fun!*
The moose likes Beginning Java and the fly likes Need an executable jar to return a value Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Need an executable jar to return a value" Watch "Need an executable jar to return a value" New topic
Author

Need an executable jar to return a value

Patrick Noah
Greenhorn

Joined: Aug 22, 2011
Posts: 28
Hi I have an executable jar which must return a value. However, it seems the main class must follow this signature: public static void main(String[] args), and since the jar file executes the main class, how do I get this jar file to return a value? By the way, I am using netbeans 7 to generate the jar. Thanks.
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3615
    
  14

What do you need the return value for?
Patrick Noah
Greenhorn

Joined: Aug 22, 2011
Posts: 28
This jar will be called from another program, and I need the return value from the jar to call another method from this program.
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18541
    
    8

The way for a program to return a value is to call System.exit(n), where n is the value you want to return. This value can then be examined by the shell script which called the program; I expect that's what you had in mind when you said your jar had to return a value.
Patrick Noah
Greenhorn

Joined: Aug 22, 2011
Posts: 28
Paul Clapham wrote:The way for a program to return a value is to call System.exit(n), where n is the value you want to return. This value can then be examined by the shell script which called the program; I expect that's what you had in mind when you said your jar had to return a value.


Thanks, I need to return a string though, is there a way to do this?
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3615
    
  14

Why don't you just call some random method from the jar directly? If you don't want to do this, you can execute the jar using a process, and read from the jar's standard output.
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18541
    
    8

Patrick Noah wrote:Thanks, I need to return a string though, is there a way to do this?


Return a string to what? Presumably to something which is "calling" your executable jar. The only things I know which can do that are shell scripts, which can't possibly require a string to be returned. So what's the thing which is calling your jar and wants a string from it?
Ted Quan
Greenhorn

Joined: Oct 17, 2011
Posts: 2
My jar file is call from a shell script. I would like this jar to return an int so that I know whether the jar is working or not.

system.exit(); does not work as expect.
in my code, I have system.exit(8);
when it does exit on that line, I do echo $?. It return 0.

Is it because void main(...)?
I change the signature to int main(...), I cannot execute the jar; why?
What do I have to change to make it works?
Ted Quan
Greenhorn

Joined: Oct 17, 2011
Posts: 2
Ted Quan wrote:My jar file is call from a shell script. I would like this jar to return an int so that I know whether the jar is working or not.

system.exit(); does not work as expect.
in my code, I have system.exit(8);
when it does exit on that line, I do echo $?. It return 0.

Is it because void main(...)?
I change the signature to int main(...), I cannot execute the jar; why?
What do I have to change to make it works?


I realize that I made mistake; I verify that it system.exit() do return the expected integer value & learn that signature void main(...) should not be changed. Thanks!
Ivan Jozsef Balazs
Rancher

Joined: May 22, 2012
Posts: 867
    
    5
Ted Quan wrote:
in my code, I have system.exit(8);
when it does exit on that line, I do echo $?. It return 0.


Make sure that no other program is called, no command is issued before capturing $?.
It applies to the last return value.

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Need an executable jar to return a value