2014-02-18 79 views
0

錯誤編譯時我收到此isue:com.sun.tools.javac.Main is not on the classpath. Oerhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7JAVA HOME PATH環境中正確設置,而是通過Node.js的

然而,我的JAVA HOME設置如下:

C:\Program Files\Java\jdk1.7.0_51 

帶有路徑

C:\Program Files\Java\jdk1.7.0_51 

任何建議?

回答

1

當node.js中產生一個分叉的環境,它ð不會複製用戶的環境變量。您需要手動執行此操作。

您將需要從process.env獲取JAVA_HOME並將其設置在您的exec()調用中。 像這樣的東西應該工作:

var config = { 
    env: process.env 
}; 
exec('javacmd', config, 
    function() { 
     console.log(arguments); 
}); 

或者,如果你想成爲更明確的,你可以從process.env

在這裏看到更多的細節只提取您需要的變量(JAVA_HOME等):

How to exec in NodeJS using the user's environment?

1

只需卸載節點js並重新安裝節點js。它解決了我的問題。