Tôi đang sử dụng eclipse Phiên bản: 3.7.2 với IDE Scala cho Eclipse 2.1.0.nightly-2_09-201203121521-6e8582e. Phiên bản java là 1.6.0_31. Hệ điều hành là Ubuntu 11.10.Scala eclipse plugin java.lang.ClassNotFoundException
Tôi đã tìm giải pháp cho vấn đề này, nhưng tôi chưa tìm thấy giải pháp nào. Tôi hy vọng không có một câu trả lời rõ ràng mà tôi đã bỏ lỡ.
Tôi có lớp này (nốt gói):
package model.x.y
import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class GibberishTestSuite extends FunSuite {
test("Check Gibberish") {
assert("blah" === "blah")
}
}
Tôi cũng đang sử dụng gradle và đường dẫn nguồn trông như thế này (lưu ý rằng các gói không phù hợp với hệ thống phân cấp thư mục):
.../src/test/scala/model/GibberishTest.scala
Eclipse và gradle tạo ra các tập tin lớp coresponding:
bin/model/x/y/GibberishTestSuite.class
build/classes/test/model/x/y/GibberishTestSuite.class
này chạy tốt qua gradle, nhưng khi tôi cố gắng chạy trong nhật thực, tôi nhận được
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
Nếu tôi thay đổi gói để
package model
để phân cấp thư mục và gói tên phù hợp với, sau đó tôi có thể chạy thử nghiệm đơn vị trong nhật thực. Trong scala, nó là hợp pháp đối với cấu trúc gói và cấu trúc thư mục không khớp. Tuy nhiên, sự không phù hợp dường như gây nhầm lẫn với nhật thực hoặc plugin.
Tôi có làm gì sai không? Tôi có thiếu một số sắc thái cấu hình? Tính năng ngôn ngữ scala này có được hỗ trợ trong nhật thực không? Nó sẽ được hỗ trợ tại một số điểm?
Cảm ơn bạn.
Tôi đã nhận thấy điều tương tự. Tôi cho rằng nó không được hỗ trợ bởi bản dựng Eclipse. –