我遇到来自另一个.jar
模块的依赖注入问题。当我尝试从该项目注入服务时,我收到错误
WELD-001408:对于带有限定符@Default的MyService类型不满意 在注入点[BackedAnnotatedField] @Inject private smilecounter.app.windows.MainWindow.service 在smilecounter.app.windows.MainWindow.service(MainWindow.java:0)
我上课了:
@Singleton
public class MainWindow extends JFrame{
@Inject private MyService service;
...
}
注入MyService
定义如下:
@ApplicationScoped
@Singleton
public class MyService{...}
在我的桌面应用程序模块(Java SE
)中,我已添加到pom:
<!-- CDI -->
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se</artifactId>
<version>${cdi.version}</version>
</dependency>
在我的服务模块中,我添加了:
<!-- CDI -->
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se</artifactId>
<version>${cdi.version}</version>
</dependency>
<!-- JAX-RS -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${jaxrs.version}</version>
</dependency>
<!-- RESTEASY -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee.api.version}</version>
<scope>provided</scope>
</dependency>
因为这些服务也使用RESTeasy服务。
有没有办法在我的桌面模块中注入这些服务而不创建设置手动依赖项的代理?
根据评论部分的要求,我将我的依赖关系从desktop
发布到core-services
:
<dependency>
<groupId>myApp</groupId>
<artifactId>myApp.services</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>