Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2006

Tip: Looking for answers? Try searching our database.

How to write a script to run a Java program and set variable values?

Thread view: 
Shawn - 01 Nov 2006 21:18 GMT
Hi,

I have written a Java program. The program needs its several variables
filled with values before it can be run. This can be achieved by
hard-coded in the program. Alternatively and being nicer and easier, a
script can be used and set the Java program's variables' value and run
the Java program. In this way, if next time, I need to change the value
of the variables, I don't need to change the Java program. I only need
to edit the script.

I have no idea how to do this. I am using Eclipse and running on Windows
XP. Is the script approach only possible on linux OS?

Thank you very much.
Manish Pandit - 01 Nov 2006 21:46 GMT
Two options:

1. The script can use -Dproperty=value for setting the properties,
which you can access in your code using System.getProperty().

2. Store the properties in properties file with name=value format, and
read it in your code using Properties.load(), passing in the
inputstream to the properties file. The script can  pass the
path_to_the_properties file as an argument to the program.

Both approaches will work regardless of the underlying Operating
System/IDE.

-cheers,
Manish
Brandon McCombs - 02 Nov 2006 00:22 GMT
> Hi,
>
[quoted text clipped - 8 lines]
> I have no idea how to do this. I am using Eclipse and running on Windows
> XP. Is the script approach only possible on linux OS?

A native script in Windows is just a .bat (batch file). I say native
since it is possible to install Perl or tcl/tk or any number of other
languages and run the script that way, although for this type of thing
.bat would be the easiest.
Robert Mark Bram - 02 Nov 2006 02:58 GMT
Hi Shawn,

> I have written a Java program. The program needs its several variables
> filled with values before it can be run. This can be achieved by
[quoted text clipped - 3 lines]
> of the variables, I don't need to change the Java program. I only need
> to edit the script.

You can write a script that launches your Java application and passes
into it values that your application then uses. A rough example is
outlined below.

The script could be a .sh script on Linux/Unix or a .bat script on
Windows, although these are not the only options.

java MyApp value1 value2

The application then has a main method that accepts value1 and value2
as arguments through the standard "main method", as per below. You
could use those values in the main method by passing them to an
instance of your app or use them directly..

public class MyApp {

 public static void main (String [] args) {
   String firstArg = args[0];
   String secondArg = args[1];

   // Use the args directly..
   System.out.println("Now using " + firstArg + " and "
       + secondArg + " to set up my app.");

   // You can also pass them to a new object for
   // use by the app in that way.
   MyApp myApp = new MyApp(firstArg, secondArg);
 }

 // You might have instance variables that need to
 // be set from the script.
 private String setting1;
 private String setting2;

 // The constructor then sets up those variables
 // from values pass to it from the main method,
 // which were passed to it from a script.
 public MyApp(String setting1, String setting2) {
   this.setting1 = setting1;
   this.setting2 = setting2;
 }

}

> I have no idea how to do this. I am using Eclipse and running on Windows
> XP. Is the script approach only possible on linux OS?  Is the
> script approach only possible on linux OS?

I don't know of an OS (especially Linux/Unix/Windows/Mac) that doesn't
support scripts that can run Java.. so you are in luck!

Also, if you are using Eclipse, you can use "Run | Run .. | Java
Application" to set arguments to the application as well, which is a
handy alternative to a script while you are still writing the code.

Rob
:)
Thomas Weidenfeller - 02 Nov 2006 11:02 GMT
> I have written a Java program. The program needs its several variables
> filled with values before it can be run.

Provide a configuration file, e.g. located relative to the user.dir (a
system property). Reading (and writing) a configuration file in Java is
rather trivial, since Java comes with an own API for this, the
Properties class.

/Thomas
Signature

The comp.lang.java.gui FAQ:
http://gd.tuwien.ac.at/faqs/faqs-hierarchy/comp/comp.lang.java.gui/
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.