2010-03-24 6 views
1

J'ai un projet simple Scala qui fonctionne sans problème à l'intérieur Eclipse, cependant, lorsqu'il est emballé dans un .jar que je reçois cette exception lors de l'exécution il:exception NoSuchMethod lors de l'utilisation scala classe Regex ... Troublée

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: scala.util.matching.Regex.replaceAllIn(Ljava/lang/CharSequence;Lscala/Function1;)Ljava/lang/String; 

Que se passe-t-il ici? ...

La ligne de code en question et la pile complète sont ci-dessous.

Ceci est la ligne incriminée:

"alt=\"[^>]+\">".r.replaceAllIn(inputStr, {_.replace(">", "/>")}) 

pile complète:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: scala.util.matching.Regex.replaceAllIn(Ljava/lang/CharSequence;Lscala/Function1;)Ljava/lang/String; 
    at com.inosat.fuel.FuelStationDgge.fixhtml(FuelStationDgge.scala:40) 
    at com.inosat.fuel.FuelStationDgge.setDetails(FuelStationDgge.scala:82) 
    at com.inosat.fuel.DggeParser$$anon$1.propertyChange(DggeParser.scala:49) 
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 
    at org.jdesktop.beans.AbstractBean.firePropertyChange(AbstractBean.java:302) 
    at org.jdesktop.http.async.AsyncHttpRequest.setReadyState(AsyncHttpRequest.java:705) 
    at org.jdesktop.http.async.AsyncHttpRequest.access$600(AsyncHttpRequest.java:79) 
    at org.jdesktop.http.async.AsyncHttpRequest$AsyncWorker.done(AsyncHttpRequest.java:831) 
    at javax.swing.SwingWorker$5.run(Unknown Source) 
    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source) 
    at sun.swing.AccumulativeRunnable.run(Unknown Source) 
    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source) 
    at javax.swing.Timer.fireActionPerformed(Unknown Source) 
    at javax.swing.Timer$DoPostEvent.run(Unknown Source) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

Répondre

1

trouvé ce qui ne va pas, Eclipse utilise un scala-library.jar de:

C:\eclipse\configuration\org.eclipse.osgi\bundles 

et pour une raison quelconque, le pot que j'ai copié à partir du pli d'installation de Scala er n'est pas la même chose. Correction de en utilisant le même fichier scala-library.jar qu'Eclipse utilise.

Questions connexes