我用Eclipse Scala IDE编写了一个Scala程序,scala.util.parsing.JSON
我希望将其转换为支持Scala 2.11版本.在Scala 2.11中我收到一个错误:
error: object parsing is not a member of package util
.我发现默认情况下解析库不再出现在util包中,但必须在这里单独下载.
我已下载并尝试将其添加到我的Eclipse项目中作为新的源文件夹,但这没有用.这些说明仅用于将其添加到sbt,但如果我想在Eclipse中使用它,我认为这与我无关.
我应该尝试在某处找到JAR文件吗?
我有一个名为Gui.scala的GUI类,Eclipse没有直接在scala文件中显示任何错误.我的Scala版本是2.11,我手动将scala-swing-2.10.4.jar添加到Eclipse中的构建路径.如果我不这样做,Eclipse会抱怨它找不到Swing库.
我的源代码的第一行看起来像这样:
package filmreviews
import scala.swing._
import event._
import javax.imageio.ImageIO
import javax.swing.ImageIcon
import java.io.File
import java.awt.image.BufferedImage
import java.net.URI
import java.net.URL
import java.awt.Desktop
import java.awt.Cursor
import java.awt.Color
import javax.swing.border
import javax.swing.BorderFactory
import javax.swing.UIManager
object Gui extends SimpleSwingApplication {
def top = new MainFrame {
...more code here...
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
Run Code Online (Sandbox Code Playgroud)
此外,还有一个很长的列表,告诉代码错误发生在哪里.只涉及我自己的代码的行是:
at filmreviews.Gui$$anon$3.<init>(Gui.scala:17)
at filmreviews.Gui$.top(Gui.scala:17)
at filmreviews.Gui$.top(Gui.scala:16)
Run Code Online (Sandbox Code Playgroud)
这就是为什么我认为它与MainFrame对象的创建有关.它也可以与我如何手动将Swing库添加到构建路径相关.但是,我不知道导致错误的原因或解决方法.
/*HASHING*/
unsigned char *do_hashing(unsigned char *buffer){
unsigned char outbuffer[20];
unsigned char output[20];
SHA1(buffer, strlen(buffer), outbuffer);
for (int i=0; i<20; i++) {
output[i]=outbuffer[i];
}
printf("The hash: ");
for (int i = 0; i < 20; i++) {
printf("%02x ", outbuffer[i]);
}
printf("\n");
return output;
}
/*HASHING*/
Run Code Online (Sandbox Code Playgroud)
如果我删除printf-function,为什么这个函数会产生不同的输出(错误的输出).例如:
./ftest
The hash: a1 2a 9c 6e 60 85 75 6c d8 cb c9 98 c9 42 76 a7 f4 8d be 73
The hash: a1 2a 9c 6e 60 85 75 6c d8 …
Run Code Online (Sandbox Code Playgroud)