2017-01-26 2 views
4

J'ai un script R qui fonctionnait correctement lorsque j'utilise l'algorithme M5P de RWeka.L'utilisation de RWeka M5P dans RStudio donne java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix

Pour des raisons qui me sont inconnues, il a cessé de fonctionner correctement et maintenant j'obtenir

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

On peut supposer que cela a quelque chose à voir avec moi la mise à jour rstudio ou Windows ou R ou d'un package. La chose étrange est que le script fonctionne bien quand je l'exécute à partir du simple R gui. Donc, cela semble être lié à RStudio et rJava (une source de problème possible a souligné here). Pourtant, je ne sais pas comment résoudre ce problème, tous les conseils que j'ai lu à ce jour concerne MacOS ou Linux, mais je suis sous Windows 10. Ma version Java est

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) 

Mon collègue peut exécuter le même script sans problèmes sur Windows 10 (mêmes mises à jour en raison de la politique de l'entreprise) et RStudio (même version: 1.0.136). Sa version Java est

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) 

Il semble y avoir une mauvaise configuration accidentelle sur mon PC, mais je ne sais pas où chercher.

Quelqu'un peut-il m'aider?

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

Je voudrais commencer par le chemin qui est utilisé – efekctive

+0

Le chemin est le même concernant Java – mondano

+0

Exécutez sa machine en mode verbeux, la vôtre aussi; capturez les messages dans des fichiers et comparez-les. Si cela est égal, alors vous pouvez envisager le contenu du pot – efekctive

Répondre

4

Après avoir lu RWeka Odds and Ends je me suis aperçu que mon WEKA_HOME a été réglé sur un chemin dans mon profil et que le gestionnaire de paquets Weka (WPM) semblait avoir des problèmes avec l'enregistrement des modules nécessaires. La solution consistait à définir le chemin d'accès à mon disque dur et à actualiser le cache.

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") 

Ensuite, tout est revenu à la normale et M5P a travaillé comme avant.