2012-06-05 95 views
0

我們在我們的solaris機器中安裝了oracle虛擬機。 (我們需要waptpro工具,它只能安裝在windows上)。所以,我們在oracle虛擬機上安裝了這個工具。如何在Oracle VM上運行命令

現在我在我的solaris機器上有一個java代碼。我需要從solaris機器執行waptpro工具。如果有任何命令我可以在solaris上運行oracle虛擬機上的命令,我可以將它集成到我的java代碼中。

因此,請讓我知道是否有人知道如何從solaris執行oracle虛擬機上的命令。

回答

0

這是在最簡單的情況下很容易,但需要相當多的手肘潤滑脂來適合所有情況。

http://www.rgagnon.com/javadetails/java-0014.html針對Java 1.5和更高版本(根據需要調整命令):

import java.io.*; 
import java.util.*; 

public class CmdProcessBuilder { 
    public static void main(String args[]) 
    throws InterruptedException,IOException 
    { 
    List<String> command = new ArrayList<String>(); 
    command.add(System.getenv("windir") +"\\system32\\"+"tree.com"); 
    command.add("/A"); 

    ProcessBuilder builder = new ProcessBuilder(command); 
    Map<String, String> environ = builder.environment(); 
    builder.directory(new File(System.getenv("temp"))); 

    System.out.println("Directory : " + System.getenv("temp")); 
    final Process process = builder.start(); 
    InputStream is = process.getInputStream(); 
    InputStreamReader isr = new InputStreamReader(is); 
    BufferedReader br = new BufferedReader(isr); 
    String line; 
    while ((line = br.readLine()) != null) { 
     System.out.println(line); 
    } 
    System.out.println("Program terminated!"); 
    } 
} 
+0

我假設「WINDIR」和「溫度」在這裏使用的是環境變量。你可以讓我知道如何創建這些變量,以及在Oracle VM上執行腳本時應該給出什麼樣的值system.getenv(「windir」)和system.getenv(「temp」)的值爲我返回null – Praveen