jQuery in Action, 3rd edition
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
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: 4087
    
  18

What do you need the return value for?


The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
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
Sheriff

Joined: Oct 14, 2005
Posts: 19742
    
  10

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: 4087
    
  18

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
Sheriff

Joined: Oct 14, 2005
Posts: 19742
    
  10

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: 969
    
    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
 
It's not a secret anymore!