【问题标题】:weld-se unable to find bean in different jar on classpath when running from command line从命令行运行时,weld-se 无法在类路径的不同 jar 中找到 bean
【发布时间】:2019-06-28 01:01:26
【问题描述】:

我有一个使用weld-se 的简单独立应用程序,但我无法从我的类路径上的所有bean 档案中检测到bean

基本上,我运行的目录中有一堆jar文件:

java -classpath * a.b.c.Generator

其中两个 jar 文件是 bean 档案,并且很好地发现了发生weld.initialize() 的 jar 中包含的 bean。

但是,来自其他 jar 文件的那些将被完全忽略。这对我来说似乎很奇怪,尽管我不知道这是否真的是它的意图。如果是这样,有什么不同的解决方案?

【问题讨论】:

    标签: jar cdi weld-se


    【解决方案1】:

    就我而言,当通过上述命令行运行时,我无法让 Weld 发现我的类路径上其他 jar 中的 bean。

    注册的 beanmanager 只发现带有初始化 Weld 的 jar 文件的 bean。日志记录表明这一点,注意到“/jar/C:/....”的 Bean 管理器,所以只针对一个 jar 文件。

    为了解决这个问题,我合并了所有需要从中发现 bean 的 jar 文件(带有一个空的 META-INF/beans.xml),然后像上面一样运行我的应用程序。

    【讨论】:

      猜你喜欢
      • 2016-09-13
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      相关资源
      最近更新 更多