2017-01-26 19 views
4

У меня есть R Script, который отлично работал, где я использую M5P-алгоритм RWeka.Использование RWeka M5P в RStudio дает java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix

По неизвестным мне причинам, он перестал работать должным образом, и теперь я получаю

Error in .jcall(o, "Ljava/lang/Class;", "getClass") : 
    java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix 

Предположительно, это что-то делать со мной обновлением RStudio или Windows, или R или некоторый пакет. Странно, что скрипт отлично работает, когда я запускаю его из простого R gui. Таким образом, это, по-видимому, связано с RStudio и rJava (источник возможной проблемы указал here). Тем не менее, я не знаю, как это исправить, все советы я читал до сих пор проблемы с Mac OS или Linux, но я на ОС Windows 10. Мой Java версии

java version "1.8.0_72" 
Java(TM) SE Runtime Environment (build 1.8.0_72-b15) 
Java HotSpot(TM) Client VM (build 25.72-b15, mixed mode) 

Мой коллега может запустить тот же сценарий без проблем на Windows 10 (те же обновления из-за политики компании) и RStudio (та же версия: 1.0.136). Ее версия Java является

java version "1.8.0_101", 
Java(TM) SE Runtime Environment (build 1.8.0_101-b13), 
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

Таким образом, кажется, что некоторые случайно расконфигурация на моем компьютере, но я просто не знаю, где искать.

Может ли кто-нибудь мне помочь?

platform x86_64-w64-mingw32 arch x86_64
os mingw32 system x86_64, mingw32 status major 3 minor 3.2
year 2016 month 10
day 31 svn rev 71607
language R version.string R version 3.3.2 (2016-10-31) nickname Sincere Pumpkin Patch

+0

Я бы начал использовать путь, который используется – efekctive

+0

Путь такой же и в отношении Java – mondano

+0

Запустите ее машину в подробном режиме, тоже; захватить сообщения в файлы и сравнить их. Если это так, то вы можете рассмотреть содержимое банки – efekctive

ответ

4

После прочтения RWeka Odds and Ends я понял, что мой WEKA_HOME был установлен на пути в моем профиле, и что менеджер пакетов Weka (WPM), как представляется, есть проблемы с сохранением необходимых модулей. Решение состояло в том, чтобы установить путь к моему жесткому диску и обновить кеш.

Sys.getenv("WEKA_HOME") # where does it point to? Maybe some obscure path? 
# if yes, correct the variable: 
Sys.setenv(WEKA_HOME="C:\\MY\\PATH\\WEKA_WPM") 
library(RWeka) 
WPM("list-packages", "installed") 

Затем все вернулись в нормальное русло и M5P работал, как и раньше.