Eclipse 使用scala正则表达式类时出现NoSuchMethod异常。。。困惑的
我有一个简单的Scala项目,它在Eclipse中运行时没有任何问题,但是,当打包到.jar中时,我在运行它时会收到以下异常:Eclipse 使用scala正则表达式类时出现NoSuchMethod异常。。。困惑的,eclipse,scala,Eclipse,Scala,我有一个简单的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; 这是怎么回事 下面是有问题的代码行
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)
找到了问题所在,Eclipse正在使用scala-library.jar,它来自:
C:\eclipse\configuration\org.eclipse.osgi\bundles
出于某种原因,我从Scala的安装文件夹复制的jar是不同的。
通过使用Eclipse正在使用的同一个scala-library.jar进行修复。发现问题后,Eclipse正在从以下位置使用scala-library.jar:
C:\eclipse\configuration\org.eclipse.osgi\bundles
出于某种原因,我从Scala的安装文件夹复制的jar是不同的。
通过使用Eclipse正在使用的相同scala-library.jar进行修复