2017-06-13 122 views
0

我具有多模块行家项目,它具有一个被其他模块中的一个公用模块。在通用模块中,我有很少的bean(Bean有单例作用域),被其他模块应用程序上下文使用。现在问题是在一个之前没有使用这些bean的模块(m1)中使用这些bean之后。在模块(m1)的应用程序上下文中导入common.xml(Bean定义在这里)会产生很多问题(无法找到bean)。所以我决定直接在模块(m1)的应用上下文中使用这些bean。如果我将bean的范围保留为singelton,则会得到java.lang.UnsatisfiedLinkError:java.library.path中没有jzmq。这个问题通过使用原型作为范围来解决。豆范围产生java.lang.UnsatisfiedLinkError中

有关此问题的任何想法。

+0

通用模块等模块,这些模块使用的豆类都是正常的模块,这些模块是使用JAR和其他模块部署中,我想用这个bean使用Tomcat的战争网络模块进行部署。这可能是问题? –

回答

0

使用本地方法让你的Java应用程序代码依赖于平台。

System.loadLibrary方法与执行Runtime.getRuntime()。loadLibrary方法等效。

当JVM第一次加载类时,System.loadLibrary方法应该用在静态初始化块中,以便只加载一次。

+0

参考用途检查链接:https://examples.javacodegeeks.com/java-basics/exceptions/java-lang-unsatisfiedlinkerror-how-to-handle-unsatisfied-link-error/ – arjun

+0

谢谢阿俊,但我不能了解为什么我的代码可以用原型而不是单用。因为它打破了其他代码片段,所以我无法更改范围。 –