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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中的zmq,eclipse IDE中的java.library.path中没有jzmq相关的知识,希望对你有一定的参考价值。

我在使用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"

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

答案

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

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

/*
*
* Version in Scala
*
* @author Vadim Shalts
* @email vshalts@gmail.com
*/

import org.zeromq.ZMQ

object version {

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

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

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

以上是关于scala中的zmq,eclipse IDE中的java.library.path中没有jzmq的主要内容,如果未能解决你的问题,请参考以下文章

使用 Eclipse Scala IDE 中的 spring-data 注入测试 playframework 2.4

我在eclipse中安装 scala IDE 时候,出现以下的错误是啥原因

Scala IDE for Eclipse的下载安装和WordCount的初步使用

Eclipse Scala IDE 代码未编译

eclipse4.4对应的scala版本插件是多少

Eclipse Scala IDE:如何构建独立的 Scala 应用程序?