2014-12-20 91 views
0

我正在嘗試將Apache Commons Math 3.3用於靜態數據處理類,並且正在使用Eclipse Mars來創建它。我已經成功下載了bin和src文件,並將它們添加到我的項目的構建路徑中;我可以在我的JRE系統庫中看到它們。我還在'Javadoc位置'標籤中添加了javadoc網址。我成功地從圖書館導入課程。Apache Commons Math'SummaryStatistics無法解析爲類型'

但是,當我嘗試從AC-M實例化對象時,Eclipse無法將該對象解析爲類型。例如,

import org.apache.commons.math3.stat.descriptive.SummaryStatistics.*; 

public class Stats { 

public static double mean(double[] data) { 
    SummaryStatistics curr = new SummaryStatistics(); 
    for (int a = 0; a < data.length; a++) { 
     curr.addValue(data[a]); 
    } 
    double mn = curr.getMean(); 
    return mn;} 

} 

導入語句正常工作。但是,馬上Eclipse在我的代碼四號線一條錯誤:

SummaryStatistics不能被解析爲一個類型

這種情況出現在所有其他對象,例如PearsonsCorrelation,SimpleRegression等(我成功地導入了所有對象的庫的各個部分。)Eclipse提供了一個選項來'修復項目設置..',但點擊後,沒有解決方案可用。我清理了構建路徑無濟於事。我很感謝幫助解決這個問題。編輯:我通過選擇感興趣的軟件包並單擊屬性> JRE系統庫[jre8]編輯...>安裝的JRE ...>編輯...>添加外部JARs ...然後添加jar文件然後將commons-math3-3.3.jar添加到庫中。

+0

護理,以顯示你怎麼說你已經包含在你的項目的Java構建路徑apache的公共圖書館嗎? – mystarrocks

回答

0

此導入:

import org.apache.commons.math3.stat.descriptive.SummaryStatistics.*; 

不會導入SummaryStatistics本身,只是類中定義的類。 Add:

import org.apache.commons.math3.stat.descriptive.SummaryStatistics; 

+0

謝謝@Joe。當我這樣做時,Eclipse讀取錯誤'訪問限制:'SummaryStatistics'類型不是 API(對所需庫的限制'C:\ Users \ Dan \ Documents \ AC-M \ commons-math3-3.3.jar' )」。 – Dan

+0

見http://stackoverflow.com/questions/2824515/how-to-add-external-library-properly-in-eclipse;不要將外部庫添加到您的JRE中,否則您將觸發http://stackoverflow.com/questions/9266632/access-restriction-is-not-accessible-due-to-restriction-on-required-library。 – Joe

+0

非常好。我的問題解決了。 – Dan

-1

這是由於Eclipse環境設置爲不自動構建 (Project - > Build Automatically)而造成的。

即使我加入了正確的JAR文件(通過項目 - 屬性 - Java的 構建路徑 - 庫),Eclipse中沒有重建,這意味着它沒有 重新計算新的依賴(與現有不適用他們資源)。

https://www.eclipse.org/forums/index.php/t/67910/