You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2006/06/09 03:03:26 UTC
svn commit: r412895 - in
/incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher:
LauncherSupport.java MainLauncher.java
Author: kentam
Date: Thu Jun 8 18:03:26 2006
New Revision: 412895
URL: http://svn.apache.org/viewvc?rev=412895&view=rev
Log:
Surfing the code and ran into some bugs:
Fix resource package name.
Clarify precedence of "--main" param in conjunction with Main-Class manifest entries; whatever is specified with "--main" should take priority.
Modified:
incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/LauncherSupport.java
incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncher.java
Modified: incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/LauncherSupport.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/LauncherSupport.java?rev=412895&r1=412894&r2=412895&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/LauncherSupport.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/LauncherSupport.java Thu Jun 8 18:03:26 2006
@@ -28,8 +28,8 @@
*/
public abstract class LauncherSupport {
private ClassLoader applicationLoader = ClassLoader.getSystemClassLoader();
- protected String className;
- protected String[] args;
+ private String className;
+ private String[] args;
/**
* Returns the classloader for application classes.
Modified: incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncher.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncher.java?rev=412895&r1=412894&r2=412895&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncher.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncher.java Thu Jun 8 18:03:26 2006
@@ -83,21 +83,21 @@
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(getApplicationLoader());
try {
- if (className == null) {
+ if (getClassName() == null) {
throw new InvalidMainException("Main-Class not specified");
}
- Class<?> mainClass = Class.forName(className, true, getApplicationLoader());
+ Class<?> mainClass = Class.forName(getClassName(), true, getApplicationLoader());
Method main;
try {
main = mainClass.getMethod("main", String[].class);
} catch (NoSuchMethodException e) {
- throw new InvalidMainException(className);
+ throw new InvalidMainException(getClassName());
}
if (!Modifier.isStatic(main.getModifiers())) {
throw new InvalidMainException(main.toString());
}
try {
- main.invoke(null, (Object) args);
+ main.invoke(null, (Object) getArgs());
} catch (IllegalAccessException e) {
// assertion as getMethod() should not have returned a method that is not accessible
throw new AssertionError();
@@ -130,6 +130,7 @@
}
protected void parseArguments(String... args) {
+ String specifiedMain = null;
int i = 0;
while (i < args.length) {
int left = args.length - i;
@@ -138,7 +139,7 @@
setClassPath(args[i + 1]);
i += 2;
} else if ("--main".equals(arg) && left > 1) {
- setClassName(args[i + 1]);
+ specifiedMain = args[i + 1];
i += 2;
} else if (arg.startsWith("--")) {
usage();
@@ -146,6 +147,11 @@
break;
}
}
+
+ // Specified main-class overrides anything found on classpath
+ if (specifiedMain != null)
+ setClassName(specifiedMain);
+
String[] mainArgs = new String[args.length - i];
System.arraycopy(args, i, mainArgs, 0, mainArgs.length);
setArgs(mainArgs);
@@ -153,7 +159,7 @@
protected void usage() {
ResourceBundle bundle = ResourceBundle.getBundle(MainLauncher.class.getName());
- System.err.print(bundle.getString("org.apache.tuscany.standalone.Usage"));
+ System.err.print(bundle.getString("org.apache.tuscany.launcher.Usage"));
System.exit(1);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org