我很好奇是什么是共享的J2EE库"在说我的JAR是一个共享的J2EE库"之前我应该考虑的事情,以及我应该考虑的事情。
根据Oracle文档,共享J2EE库可以是一个简单的JAR"。什么术语"简单"意味着在这种情况下? 对共享J2EE库的简单JAR可以做什么或不做什么有限制?我的JAR可以产生线程,做网络I / O等吗?我知道J2EE框架最初设计时最初将库视为bean,并且这个bean设计有一些限制(例如,它们不负责线程,网络I / O等)。但似乎我只是希望我的JAR成为共享的J2EE库,这些对bean的限制不适用。
最后,我的库是否应该遵循共享J2EE库的最佳实践列表,即使它不是J2EE库,因此引用我的库的客户端Web应用程序可以遵循最佳实践?例如。我的图书馆是否应该发布"规范版本"和"实施版本"并且遵循它们的语义,或者一旦我们声明我们不是共享的J2EE库,这不是我们的关注。
答案 0 :(得分:0)
我认为你对java库和J2EE库有点困惑。
每个JAR都可以是一个java库。有很多例子:Spring,apache-commons,junit等......
为了在应用程序中将JAR用作库,您需要做的就是将它包含在类路径中。
这些JAR可以执行java API提供的所有标准任务:套接字,NIO,文件,并发等......
您可以将服务器配置为在应用程序中加载此类库(只是普通的JAR)。在这种情况下,服务器将自动在类路径中包含JAR的所有内容,但它不会从中解析任何J2EE注释(@EJB,@ Inject等...)
另一方面,J2EE共享库可以包含J2EE对象。也就是说,它可以包含EJB,Servlet等。