当前位置: 首页 > 知识库问答 >
问题:

如何从包含为jar的不同项目模块@Inject对象

曹均
2023-03-14

我在多模块maven项目中使用Vaadin-CDI,其中一个模块用于公共类,如接口、抽象类等。我的问题是,我不能像往常一样将放置在核心模块中的类注入到另一个模块中。我仍然得不到满意的解决方案

SEVERE: CDI Beans module deployment failed
javax.enterprise.inject.UnsatisfiedResolutionException: Api type [com.web.core.TestClass] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()]
for injection into Field Injection Point, field name :  cls, Bean Owner : [DispUI, Name:null, WebBeans Type:MANAGED, API
 Types:[com.vaadin.ui.AbstractComponent,java.util.EventListener,com.vaadin.event.MethodEventSource,com.vaadin.server.Abs
tractClientConnector,com.vaadin.server.VariableOwner,java.lang.Iterable,com.vaadin.ui.HasComponents$ComponentAttachDetac
hNotifier,java.lang.Object,java.io.Serializable,com.vaadin.ui.LegacyComponent,com.vaadin.event.ConnectorEventListener,co
m.vaadin.event.Action$Notifier,com.vaadin.ui.Component,com.vaadin.event.Action$Container,com.vaadin.ui.SingleComponentCo
ntainer,com.vaadin.ui.HasComponents,com.vaadin.server.Sizeable,com.vaadin.ui.Component$Focusable,com.vaadin.server.Clien
tConnector,com.vaadin.ui.AbstractSingleComponentContainer,com.vaadin.shared.Connector,com.web.disp.DispUI,com.vaa
din.ui.UI], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]

我在WebSphere Info中找到了一些名为2.解决无法满足的依赖项的IBM建议。(可以在这里找到http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/tweb_troubleshoot_cdi.html)。根据这一点,我检查了我的项目的部署程序集属性,并正确添加了core.jar。

接下来我应该检查什么?非常感谢回答!

共有1个答案

罗伟兆
2023-03-14

您的commons jar需要一个< code>META-INF/beans.xml。你检查过了吗?

 类似资料:
  • 问题内容: 我有一个多模块的Maven项目。父POM和单个模块的pom运行正常(因为每个模块中的代码运行正常,没有任何依赖关系问题,目标运行没有任何警告/错误)。现在,我需要为每个模块创建一个jar。 项目结构及其依赖关系大致如下 我遵循了这个 Maven多模块项目-将所有“包”JARS从子模块复制到父级/目标/ 而且,能够将我的所有子模块的jar放入一个文件夹,但是我无法运行任何jar,因为模块

  • 如何在导入到另一个模块的jar中包括测试目录(src/test/)下的Spring bean? 我有几个Maven项目: ms1、ms2、ms3和通用共享。通用共享是一个多模块的Maven项目。它包含几个模块:通用共享utills、通用共享fs等... 在每个子模块中,我都有一个专用的pom。xml以及所需的所有依赖项,在通用共享pom中,我有关于构建和模块的详细信息: 似乎我为子模块中的测试(位

  • 我试图将. AAR文件作为一个模块包含在我的项目中。所以,我可以将我的项目代码保持为模块化,我尝试了关于堆栈溢出的解决方案,但没有按照我要求的方式工作。最后,我找到了一种以最佳方式添加到项目中的方法。

  • 问题内容: 我想在某种类型的全局项目目录中有一个模块,以便可以在使用该通用代码的所有其他项目中包含该模块。 但是,我怎样才能告诉Maven父母包括并编译这个全局共享模块呢?以下内容不起作用: 父pom.xml: 结果是: 问题答案: 如果您在该全局项目上运行,它将被安装在本地存储库中。然后,其他项目可以将其引用为依赖项: 这种简单化方法的缺点是,其他项目只有在检出并运行后才能编译。 一种更高级的方

  • 我们正在尝试使用java webstart开发一个打印应用程序。我们使用eclipse将jar创建为普通jar文件。我们的应用程序需要外部库来连接数据库、将数据转换为字节等。 我们以前可以通过将必要的JAR放入jre文件夹的/ext/目录来实现这一点。然而,这导致了与tomcat服务器的库冲突,所以我们希望避免这种方法。 我们还尝试将项目导出为可运行的jar,因为所需的库也已打包在jar中。但是当

  • 标题可能会让人困惑(虽然准确)。让我用更多的文字来解释: 重复一遍,我希望库需要的所有东西都打包在一个jar文件(ProjectB的jar文件)中,这样当我将它导入到Android应用程序的库中时,我就可以使用它了。 有没有来自Android开发人员的帮助?