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

Apache Maven模块上的Java EJB依赖项注入失败

邹华池
2023-03-14
- Java Parent
  - Module1
  - Module2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.screening</groupId>
<artifactId>screening</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<name>Java Parent</name>

<properties>
  <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<modules>
  <module>Module1</module>
  <module>Module2</module>
</modules>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 <parent>
    <groupId>com.screening</groupId>
    <artifactId>screening</artifactId>
    <version>1.0-SNAPSHOT</version>
 </parent>

 <modelVersion>4.0.0</modelVersion>

<groupId>com.screening</groupId>
<artifactId>module1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>ejb</packaging>

<name>Module1</name>
</project>
@Stateless
@Local
public class JDBCProcessorBean implements JDBCProcessorBean {
  // implemented methods
}
@Startup
@Singleton
public class Runner {

     @EJB
     private JDBCProcessor jdbcProcessor; // this is injected at runtime
}
 javax.NamingNotFoundException

唯一的问题是注入不同模块中的bean。这怎么能修好呢?

共有1个答案

姜兴业
2023-03-14

您是否记得在另一个模块的src/main/resources/meta-inf中添加了一个beans.xml?

--更新--

它实际上不一定要包含任何豆子。应该拿起一个空的:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
 类似资料:
  • 问题内容: 当前在app.js中,我有以下路线: 如您所见,我正在尝试注入Path依赖项。尽管我收到一条错误消息,说找不到该提供程序。我认为这是因为配置模块提供程序首先执行。以下是“ services.js”中我的路径提供程序定义 我怎样才能将此提供程序注入配置模块? 问题答案: 在中,只能使用提供程序(例如)。在你只能使用服务(如实例)。您有一家工厂,而不是供应商。请参阅具有以下三种创建方式的代

  • 让我们创建一个名为的新模块,并在那里定义CounterService。 app/shared/shared.module.ts 现在我们将引入 SharedModule 到AppModule 和中。 app/lazy/lazy.module.ts 使用此配置,两个模块的组件都可以访问CounterService。 我们将以完全相同的方式在EagerComponent和LazyComponent中使

  • 我做了一些搜索,但我无法找出是什么问题。我知道这个问题来自于ClassNotFoundException,但我无法解决它。 我把我需要的东西都装上了(嗯,我想)。下面是我的代码: DAO类: 服务类别:

  • 在启动springboot应用程序时出现了一些异常。我不知道我错过了什么。 这里是我的代码:这是入口: 这是控制器: 这是pom.xml 这是日志(对格式抱歉): 问题已经修复,我更新了ContextConfig.class,如下所示:` `

  • 嗨,朋友们,我正在开发一个基于maven的spring boot项目,这个项目是多模块的,其中一个模块是主模块,第二个模块是服务模块。我在主模块中有一个控制器,在Serivce模块中有一个服务 控制器 服务 在maven的多个模块中,这个场景可以很好地工作,但我还有一个以服务模块中的接口形式存在的存储库。 因此,当我从Main模块执行主类时,我的项目在服务模块中没有bookrepository(或