scala中的zmq,eclipse IDE中的java.library.path中没有jzmq

问题描述 投票:1回答:1

我在使用zmq运行Scala项目时遇到错误,如下所述,我想知道什么是java.library.path?

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jzmq in 
java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:37)
at 
org.arpit.scala.training.day1.FunctionalStyle$.main(FunctionalStyle.scala:8)
at org.arpit.scala.training.day1.FunctionalStyle.main(FunctionalStyle.scala)

我的代码如下,

import org.zeromq.ZMQ
object FunctionalStyle {

def main(args : Array[String]) {

    val context = ZMQ.context(1)
    val publisher = context.socket(ZMQ.PUB)
    println("hello")

    val sync = context.socket(ZMQ.PULL)

    sync.bind("tcp://localhost:5564")

    // We send updates via this socket
    publisher.bind("tcp://localhost:5565")
    publisher setHWM 2

    sync recv 0


    for (i <- 1 to 10) {
        val msg = String.format("Update %d", i: Integer)
        publisher.send(msg.getBytes(), 0)
        Thread sleep 1000
    }
    publisher.send("END".getBytes(), 0)
    Thread sleep 1000 
}
}

这里给出build.sbt文件如下,

import Dependencies._
lazy val root = (project in file(".")).
settings(
inThisBuild(List(
  organization := "com.example",
  scalaVersion := "2.12.3",
  version      := "0.1.0-SNAPSHOT"
)),
name := "Hello",
libraryDependencies += scalaTest % Test
)

libraryDependencies += "org.zeromq" % "jzmq" % "2.1.2"

如何纠正这个错误,请提出任何建议?

eclipse scala sbt zeromq failed-installation
1个回答
1
投票

在深入代码之前,最好先测试已安装的版本:

如果版本报告正确,那么您的安装配置得足以进一步继续,如果没有,问题不在于ZeroMQ或任何代码本身,而是安装失败或工具配置错误。

/*
*
* Version in Scala
*
* @author Vadim Shalts
* @email [email protected]
*/

import org.zeromq.ZMQ

object version {

  def main( args: Array[String] ) {
    printf( "INF: ZMQ-Version string: %s\n",
                  ZMQ.getVersionString
             )
    printf( "INF: ZMQ-Version int: %d\n"
                  ZMQ.getFullVersion
             )
  }
}

如果这不能顺利编译/运行,则根本原因在于工具的安装和/或配置。

在这两个报告都匹配所需的Major#-Minor#-Patch#数字之后,您的安装和配置都已准备好,并且适合为您的scala项目正确生成任何其他ZeroMQ工具。

© www.soinside.com 2019 - 2024. All rights reserved.