git-svn-id: https://samskivert.googlecode.com/svn/trunk@1253 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2003-10-10 19:33:47 +00:00
parent 5ddfa1e25e
commit d32543d78c
+17 -22
View File
@@ -2,7 +2,7 @@
use Getopt::Std; use Getopt::Std;
my $usage = "Usage: $0 [-p pid_file] [-r server_root] args\n"; my $usage = "Usage: $0 [-p pid_file] [-r root_directory] args\n";
# locations of stuff # locations of stuff
chomp($location = `dirname $0`); chomp($location = `dirname $0`);
@@ -52,29 +52,25 @@ if (defined $libpath) {
} }
# put everything in our class path # put everything in our class path
my $classpath = "-classpath $jlib:$root/dist/classes"; my $classpath = "-classpath $root/dist/classes";
# any zip or jar files in our lib/ directory get added to the class path # add zip and jar files from our lib/ directory and the system lib/ directory
if (opendir(DIR, "$root/lib")) { my @dirs = ( "$root/lib", $ENV{"JAVA_LIBS"} );
foreach $lib (grep { /.(zip|jar)/ && -f "$root/lib/$_" } readdir(DIR)) { foreach $dir (@dirs) {
$classpath .= ":$root/lib/$lib"; next unless (defined $dir);
if (opendir(DIR, $dir)) {
foreach $lib (grep { /.(zip|jar)/ && -f "$dir/$_" } readdir(DIR)) {
$classpath .= ":$dir/$lib";
}
closedir DIR;
} }
closedir DIR;
} }
# any zip or jar files in our lib/ directory get added to the class path # finally add the standard classes
if (opendir(DIR, "/usr/share/java")) { $classpath = "$classpath:$jlib";
foreach $lib (grep { /.(zip|jar)/ && -f "/usr/share/java/$_" } readdir(DIR)) {
$classpath .= ":/usr/share/java/$lib";
}
closedir DIR;
}
# specify our server root (this is for server code) # specify our application root (the resource manager needs this)
my $serverroot = "-Dserver.root=$root"; my $rootarg = "-Dresource_url=file:$root/rsrc";
# specify our base directory (this is for client code)
my $basedir = "-Dbase.dir=$root/src/java";
my $pid_file = undef; my $pid_file = undef;
my $i = 0; my $i = 0;
@@ -97,7 +93,7 @@ for ($i = 0; $i < @ARGV; $i++) {
$i -= 1; # decrement i so that things stay in sync $i -= 1; # decrement i so that things stay in sync
} elsif ($arg eq "-r") { } elsif ($arg eq "-r") {
$serverroot = "-Dserver.root=" . $ARGV[$i+1]; $rootarg = "-Dapplication.root=" . $ARGV[$i+1];
splice(@ARGV, $i, 2); splice(@ARGV, $i, 2);
$i -= 1; # decrement i so that things stay in sync $i -= 1; # decrement i so that things stay in sync
} }
@@ -106,7 +102,6 @@ for ($i = 0; $i < @ARGV; $i++) {
# log the pid file if requested to do so # log the pid file if requested to do so
print `echo $$ > $pid_file` if (defined $pid_file); print `echo $$ > $pid_file` if (defined $pid_file);
my $cmd = "$java -mx256M $classpath $serverroot $basedir \"" . my $cmd = "$java -mx256M $classpath $rootarg " . join(" ", @ARGV);
join("\" \"", @ARGV) . "\"";
# print "$cmd\n"; # print "$cmd\n";
exec($cmd); exec($cmd);