Исключение NoSuchMethod при использовании класса Regex scala ... перепутано - PullRequest
1 голос
/ 24 марта 2010

У меня есть простой проект Scala, который без проблем запускается в Eclipse, однако, когда я упакован в .jar, я получаю это исключение при его запуске:

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

Что здесь происходит? ...

Соответствующая строка кода и полный стек приведены ниже.

Это оскорбительная строка:

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

Полный стек:

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)

1 Ответ

1 голос
/ 24 марта 2010

Выяснил, что не так , Eclipse использует scala-library.jar из:

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

и по какой-то причине баночка, которую я скопировал из папки установки Scala, не совпадает. Исправлено при использовании того же scala-library.jar, что и Eclipse.

...