Skip to content

Commit

Permalink
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions core/src/main/java/org/jruby/util/ClasspathLauncher.java
Original file line number Diff line number Diff line change
@@ -9,14 +9,24 @@
public class ClasspathLauncher {

public static String jrubyCommand(ClassLoader classLoader) {
StringBuilder command = new StringBuilder("java -cp ");
String javaHome = SafePropertyAccessor.getProperty("java.home", "");
// java.home is a JRE
String javaCmd = javaHome + "/bin/java";
if (!new File(javaCmd).exists()) {
// java.home is a JDK
javaCmd = javaHome + "/jre/bin/java";
}
if (!new File(javaCmd).exists()) {
// can't find it, hope it's in path
javaCmd = "java";
}
StringBuilder command = new StringBuilder(javaCmd + " -cp ");
if (classLoader instanceof URLClassLoader) {
for(URL url : ((URLClassLoader) classLoader).getURLs()) {
String path = URLUtil.getPlatformPath(url);
if (path != null) command.append(File.pathSeparatorChar).append(path);
}
}
else {
} else {
command.append(File.pathSeparatorChar).append(SafePropertyAccessor.getProperty("java.class.path"));
}
command.append(" org.jruby.Main");

0 comments on commit db16171

Please sign in to comment.