Do not use the java checker during instance update

This commit is contained in:
Petr Mrázek
2014-01-14 01:13:35 +01:00
parent 4744ea07a8
commit 555cbe00ce
4 changed files with 112 additions and 94 deletions

View File

@ -27,6 +27,37 @@ import java.util.List;
public class Utils
{
/**
* Combine two parts of a path.
* @param path1
* @param path2
* @return the paths, combined
*/
public static String combine (String path1, String path2)
{
File file1 = new File(path1);
File file2 = new File(file1, path2);
return file2.getPath();
}
/**
* Join a list of strings into a string using a separator!
* @param strings the string list to join
* @param separator the glue
* @return the result.
*/
public static String join (List<String> strings, String separator)
{
StringBuilder sb = new StringBuilder();
String sep = "";
for(String s: strings)
{
sb.append(sep).append(s);
sep = separator;
}
return sb.toString();
}
/**
* Adds the specified library to the classpath
*

View File

@ -66,7 +66,11 @@ public class OneSixLauncher implements Launcher
return -1;
}
final ClassLoader cl = ClassLoader.getSystemClassLoader();
String property = System.getProperty("os.arch");
List<String> allNativePaths = new ArrayList<String>();
boolean is_64 = property.equalsIgnoreCase("x86_64") || property.equalsIgnoreCase("amd64");
allNativePaths.add(natives);
allNativePaths.add(Utils.combine(natives, is_64 ? "64" : "32"));
// print the pretty things
{
@ -74,6 +78,13 @@ public class OneSixLauncher implements Launcher
System.out.println(mainClass);
System.out.println();
System.out.println("Native paths:");
for (String s : allNativePaths)
{
System.out.println(s);
}
System.out.println();
System.out.println("Libraries:");
for (String s : libraries)
{
@ -96,8 +107,10 @@ public class OneSixLauncher implements Launcher
System.out.println();
}
final ClassLoader cl = ClassLoader.getSystemClassLoader();
// set up the natives path(s).
System.setProperty("java.library.path", natives );
System.setProperty("java.library.path", Utils.join(allNativePaths, String.valueOf(File.pathSeparatorChar)) );
Field fieldSysPath;
try
{