Così ho cercato di lavorare con il framework signal-collect e ho scaricato i file .jar
e l'ho estratto in una cartella. Attualmente la struttura della cartella si presenta come:Aggiunta di .jar a classpath (Scala)
LICENSE.txt
PageRank.scala
core-1.1.1-sources.jar
dependencies/
javaapi-1.1.1-sources.jar
NOTICE.txt
README.txt
core-1.1.1.jar
javaapi-1.1.1-javadoc.jar
javaapi-1.1.1.jar
Dove PageRank.scala
è il codice di prova Scala che forniscono, che è:
import com.signalcollect._
object PageRank extends App {
val graph = GraphBuilder.build
graph.addVertex(new PageRankVertex(id=1))
graph.addVertex(new PageRankVertex(id=2))
graph.addEdge(new PageRankEdge(sourceId=1, targetId=2))
graph.addEdge(new PageRankEdge(sourceId=2, targetId=1))
graph.execute
graph.foreachVertex(println(_))
graph.shutdown
}
class PageRankVertex(id: Any, dampingFactor: Double=0.85)
extends DataGraphVertex(id=id, state=1-dampingFactor) {
type Signal = Double
def collect(oldState: Double, mostRecentSignals: Iterable[Double]): Double = {
1 - dampingFactor + dampingFactor * mostRecentSignals.sum
}
}
class PageRankEdge(sourceId: Any, targetId: Any)
extends DefaultEdge(sourceId, targetId) {
type SourceVertex = PageRankVertex
def signal(sourceVertex: PageRankVertex) = {
sourceVertex.state * weight/sourceVertex.sumOfOutWeights
}
}
Sono un novizio quando si tratta di JVM/Java/Scala, e questo è stato il mio tentativo di aggiungere il .jar's
al classpath per la compilazione PageRank.scala
:
$ scalac -classpath *.jar dependencies/*.jar PageRank.scala
error: IO error while decoding core-1.1.1.jar with UTF-8
Please try specifying another one using the -encoding option
error: IO error while decoding javaapi-1.1.1-javadoc.jar with UTF-8
Please try specifying another one using the -encoding option
error: IO error while decoding javaapi-1.1.1-sources.jar with UTF-8
Please try specifying another one using the -encoding option
error: IO error while decoding javaapi-1.1.1.jar with UTF-8
Please try specifying another one using the -encoding option
error: IO error while decoding dependencies/je-3.2.76.jar with UTF-8
Please try specifying another one using the -encoding option
error: IO error while decoding dependencies/scala-library-2.9.1.jar with UTF-8
Please try specifying another one using the -encoding option
6 errors found
io non riesco a capire cosa non va ... cosa c'è h appening? Grazie! Cordiali saluti, -strumento
si può anche usare ';' per separare i nomi vaso – Jus12
+1 Per completezza, si noti che si deve ** aggiungere il classpath sia durante la compilazione che durante l'esecuzione **. Questo è qualcosa che ho perso a prima vista. – JoErNanO