我有一个使用weld-se的简单独立应用程序,但是我无法从类路径上的所有bean存档中检测到bean
基本上,我在运行的目录中有一堆jar文件:
java -classpath * a.b.c.Generator
这些jar文件中有两个是bean档案,并且很好地发现了执行weld.initialize()的jar中包含的bean。
但是,其他jar文件中的文件将被完全忽略。这对我来说似乎很奇怪,尽管我并不怀疑这实际上是如何实现的。如果是这样,有什么不同的解决方案?
答案 0 :(得分:0)
就我而言,当通过上述命令行运行时,我无法让Weld在我的类路径上的其他jar中发现bean。
被注册的beanmanager仅在初始化Weld的jar文件中发现bean。记录表明这一点,并指出“用于/ jar / C:/ ....”的Bean管理器,因此仅用于一个jar文件。
要解决此问题,我合并了需要从中找到所有bean的所有jar文件(带有空的META-INF / beans.xml),然后像上面那样运行我的应用程序。