我和jee和wildfly一起工作了几天,现在我有问题了。我创建了这样的东西:
@Stateless
public class BookService {
@EJB
private BookDao bookDao;
public void addBook(Book book) {
bookDao.saveBook(book);
}
public Optional<Book> getBookById(Long id) {
return bookDao.getBookById(id);
}
public void updateBook(Book book) {
bookDao.updateBook(book);
}
@Produces
@Named("books")
public List<Book> getAllBooks() {
return bookDao.getAllBooks();
}
}
接下来,我尝试在jsf中使用#{books}
,但遇到了异常:
2017-05-23 08:49:07,447]工件EAR:EAR:工件部署过程中出错。有关详细信息,请参阅服务器日志。
>
带有限定符[@default@named@any]的生产者方法[List]声明为[[BackedAnnotatedMethod]@produces@named public app.service.bookservice.getallbooks()],
带有限定符[@default@named@any]的生产者方法[List]声明为[[BackedAnnotatedMethod]@products@named public app.service.bookservice.getallbooks()]“},”wflyctl0412:未安装的必需服务:“=>[”jboss.deployment.unit.“\”lab6.ear\“.weldstartservice”],“wflyctl0180:缺少/不可用依赖项的服务”=>undefined}
问题的根源是什么。
这看起来您错误地构建了EAR文件组件:
这将为您提供相同bean的两个副本。
问题内容: 我有一个应用程序,它具有多个模块和各种依赖性。在Glassfish 4上部署应用程序时,出现错误: 可能是什么原因?我已经看到了有关此主题,解决方案是编辑注释,但这不是我的,而是依赖项。如何避免这种异常? 我正在将Java EE 6与JDK 1.7和Glassfish 4.0一起使用。 问题答案: Glassfish已经为您打包了Jerseys库,因此您需要按照docs所述在Maven
我使用的是Spring Boot1.3,我有下面的配置类: 当我试图按名称注入下面的bean之一时,它抛出:没有定义[java.text.SimpleDateFormat]类型的合格bean:预期的是单个匹配bean,但找到了2:dateAndTimeFormater,DateFormater。 如有任何建议,将不胜感激?
长话短说,我想更换spring boot中现有的控制器,因为它不令人满意。 因此,我创建了一个新的rest控制器类,并开始向其添加功能。我想维护旧的控制器,直到将来可以删除它(一旦新版本完全实现) 所以我实际上有两个同名的类。 新班级 旧类 启动服务时发生以下错误: 我尝试使用注释,但无法编译。 我怎么能在Spring启动应用程序中有两个同名的Rest类? 注意:我不愿意尝试重命名
我在依赖项jar文件中有一个CDIBean实现: 在我的网络应用程序中,我想通过EL表达式访问该服务,因此我必须给它一个注释。但是我不能在实现上添加注释,因为我无权更改该代码。 因此我试着创造一个像 这导致了 WELD-001409-带有限定符@Default的MyService类型的模糊依赖关系...可能的依赖关系:-托管Bean[类...MyService]与限定符[@任何@默认]-生产者方法
在Spring3.1中,我试图通过JMX导出相同的bean,使用两个不同的bean名称和两个不同的接口。 但是,当我启动我的应用程序时,我得到了一个异常 有没有任何方法可以在两个不同的mbean名称下注册同一个bean实例,从而公开不同的接口?
我用weblogic 10.3.6和EJB 3.0做了一个小例子。定义SimpleService类,定义weblogic-ejb-jar.xml以便将SimpleService类映射到JNDI名称,将其打包为EAR文件中的EJB组件并部署在服务器上。部署成功,我可以看到名为SimpleServiceBean的ejb bean。之后,使用独立的应用程序连接到webloigc服务器通过初始化上下文与所