|
|
@ -8,42 +8,42 @@ import com.fr.stable.StableUtils; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.IOException; |
|
|
|
|
|
|
|
|
|
|
|
public class Demo { |
|
|
|
public class Demo { |
|
|
|
public static void main(String[] args) { |
|
|
|
public static void main(String[] args) { |
|
|
|
String installHome = StableUtils.getInstallHome(); |
|
|
|
String installHome = StableUtils.getInstallHome(); |
|
|
|
if (installHome == null) { |
|
|
|
if (installHome == null) { |
|
|
|
FRContext.getLogger().error("Can not find the install home, please check it."); |
|
|
|
FRContext.getLogger().error("Can not find the install home, please check it."); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String executorPath; |
|
|
|
String executorPath; |
|
|
|
|
|
|
|
|
|
|
|
if (OperatingSystem.isMacOS()) { |
|
|
|
if (OperatingSystem.isMacOS()) { |
|
|
|
executorPath = StableUtils.pathJoin(installHome, "bin", "designer.app --args demo"); |
|
|
|
executorPath = StableUtils.pathJoin(installHome, "bin", "designer.app"); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
executorPath = StableUtils.pathJoin(installHome, "bin", "designer.exe demo"); |
|
|
|
executorPath = StableUtils.pathJoin(installHome, "bin", "designer.exe demo"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!new java.io.File(executorPath).exists()) { |
|
|
|
if (!new java.io.File(executorPath).exists()) { |
|
|
|
FRContext.getLogger().error(executorPath + " can not be found."); |
|
|
|
FRContext.getLogger().error(executorPath + " can not be found."); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (OperatingSystem.isMacOS()) { |
|
|
|
if (OperatingSystem.isMacOS()) { |
|
|
|
ProcessBuilder builder = new ProcessBuilder(); |
|
|
|
ProcessBuilder builder = new ProcessBuilder(); |
|
|
|
builder.command("open -a", executorPath); |
|
|
|
builder.command("open", "-a", executorPath, "--args", "demo"); |
|
|
|
try { |
|
|
|
try { |
|
|
|
builder.start(); |
|
|
|
builder.start(); |
|
|
|
} catch (IOException e) { |
|
|
|
} catch (IOException e) { |
|
|
|
FRContext.getLogger().error(e.getMessage(), e); |
|
|
|
FRContext.getLogger().error(e.getMessage(), e); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// ProcessBuilder这种方式在window下报错:系统找不到指定文件
|
|
|
|
// ProcessBuilder这种方式在window下报错:系统找不到指定文件
|
|
|
|
Runtime rt = Runtime.getRuntime(); |
|
|
|
Runtime rt = Runtime.getRuntime(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
rt.exec(executorPath); |
|
|
|
rt.exec(executorPath); |
|
|
|
} catch (IOException e) { |
|
|
|
} catch (IOException e) { |
|
|
|
FRContext.getLogger().error(e.getMessage(), e); |
|
|
|
FRContext.getLogger().error(e.getMessage(), e); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
System.exit(0); |
|
|
|
System.exit(0); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |