- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近遇到了 glassfish Standalone (v3.1) vs glassfish Embedded (v3.1) vs java SE 以及 java.endorsed.dirs 的使用方式的问题。我遇到的具体问题是 here ,但我不认为这是我最后一次遇到类似的事情。
我找到的资料here和 here建议在编译时将 glassfish 认可的库添加到引导类路径。然而,this错误报告表明,在使用嵌入的 glassfish 时,很难正确设置认可的库。
因此,似乎当我部署到独立的 glassfish 容器时,我的应用程序将针对 glassfish 包含的认可库运行,但在使用嵌入式容器时则不会。我遇到了我原来的问题,因为 maven-embedded-glassfish-plugin 没有像 glassfish standalone 那样使用认可的库启动 glassfish 嵌入。我也不确定其他容器(例如:jboss)是否包含与 glassfish 相同的一组认可库。
那么,我 (1) 是否应该努力(很多)确保我的应用程序是根据认可的库编译的,并且始终部署到使用认可的库引导的容器中,或者我应该(2)坚持使用捆绑的内容吗?使用 Java SE 6?
如果我选择 (2),在将我的应用程序部署到使用较新认可的库引导的容器时,我是否必须担心不兼容?
我将不胜感激任何人可以提供的任何见解。
最佳答案
编辑 : javaee-endorsed-api
上面的方法可能会正常工作,但它给了我威利。我认为不再生产或维护它。此外pom.xml
它包含在其中反射(reflect)在某些时候它被称为 javaee-compact-api
,您可以看到他们如何从中剥离实现类。相比之下,挑选你想要使用的 API jars 作为背书(正如我在下面推荐的)似乎更稳定和灵活。最后,如果你还想使用javaee-endorsed-api
方法,你仍然可以使用我推荐的通用方法并指向javaee-endorsed-api.jar
反而。
瑞安;我只是在同一旅程中梳理了您对此的长篇大论(涉及 StackOverflow、java.net 论坛等)。
在单元或集成测试期间,您需要设置 java.endorsed.dirs
如您所知,系统属性。
诀窍是您必须以这样一种方式来执行此操作,以便运行测试的 JVM 接收它。这取决于您如何运行 Surefire。
如果出于某种原因您将 Surefire 设置为不 fork ,这可能是一件坏事,您应该在此处重新评估您的配置。
如果您将 Surefire 设置为 fork,那么您可能认为您可以简单地包含 java.endorsed.dirs
在 systemPropertyVariables
节,像这样:
<systemPropertyVariables>
<java.endorsed.dirs>weWillGetToThisInAMoment</java.endorsed.dirs>
</systemPropertyVariables>
ForkedBooter
,以及
ForkedBooter
以编程方式为您的单元测试设置系统属性。也就是说,到时候你的
<systemPropertyVariables>
该节由
ForkedBooter
阅读已经太晚了。
<argLine>
在您的 Surefire 配置中,如下所示:
<configuration>
<argLine>-Djava.endorsed.dirs=weWillGetToThisInAMoment</argLine>
</configuration>
javax.annotation.*
是一个合理的选择。您希望提供本地 Maven 存储库中包含相关 jar 的目录。
${settings.localRepository}${file.separator}org${file.separator}glassfish${file.separator}main${file.separator}javaee-api${file-separator}javax.annotation${file.separator}${javaxAnnotationVersion}
${settings.localRepository}
将扩展到您本地 Maven 存储库所在位置的值(value)。 ${file.separator}
是一种获取 System.getProperty("file.separator")
值的方法在 Maven 属性替换中。 <dependency>
在 the GlassFish artifact that bundles up the javax.annotation
package as defined in Java EE 6 .所以在这里我构建了一条通往工件的路径。我还定义了一个名为 javaxAnnotationVersion
的属性,对我来说,设置为 3.1.2
. javax.annotation
的 jar 的目录。类,现在嵌入式 GlassFish(在进程内运行)将使用 Java EE 6 版本
javax.annotation
类而不是 Java SE 6 版本。我希望这能够帮到你。
关于jakarta-ee - 处理 Java EE 和 java.endorsed.dirs 的任何最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439368/
我想了解为什么一些 Jakarta EE 规范是空的。 例如 Jakarta Annotations规范由免责声明和快速描述(3 行)组成,但是有 Javadoc . 当 JCP 负责 J2EE 规范
我们将在我们的开发中使用 WebSphere 8.0 应用服务器。 我们的网络应用程序使用 Amazon aws java sdk,而后者又使用 Apache http-client 4.1。 但是
Java EE Web Profile 认证服务器(如 JOnAS)和 Java EE Full Platform 认证服务器(如 JBoss AS)有什么区别? 最佳答案 这是一张很好的图片来解释它
Java EE 5 和 Java EE 6 的主要区别是什么? 最佳答案 Oracle 有一篇由三部分组成的文章详细介绍了这些更改:Introducing the Java EE 6 Platform
自从我将 web.xml 从 Java-EE-5 迁移到 Java-EE-6 后,我的应用程序出现问题。这是我部署应用程序时得到的堆栈跟踪: 24 août 2011 14:10:45 org.apa
我想让我的 Java EE 应用程序可插入。主应用程序将部署在一个ear 中,但它在EJB 中的代码将包含插件的入口点。插件可以部署在它们自己的 jar 文件中。有什么好的框架可以做到这一点吗?我正在
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个关于 EE 容器如何控制事务的问题。这是为我的问题提供一些上下文的伪代码。这不是我编码的方式,所以请留在问题上,不要将主题演变成其他内容。 考虑以下两个服务和相关 Controller 。这两
如果在应用程序初始化期间发生异常,是否有任何方法可以防止 Java EE 应用程序启动?在从 JSR-77 抛出未处理的异常之后,我基本上是在寻找一种方法来使应用程序进入“j2ee.state.fai
我们正在开发几个独立的应用程序/模块,我们将它们部署到 Glassfish 3.1.1 应用程序服务器上。在某些情况下,这些应用程序需要通过远程接口(interface)调用彼此的方法。打包这些远程接
我对 Java 有所了解,但对 Enterprise Java 完全陌生。我正在尝试使用 NetBeans 6.1 和 GlassFish Application Server。 请指导我一些资源,这
这个问题在这里已经有了答案: Java / Jakarta EE web development, where do I start and what skills do I need? [close
我有现有的Java EE Web应用程序。我还有一个新的Grails 1.3.7应用程序。 要求是将此Grails应用程序嵌入现有Java EE应用程序中,并将其部署在一个war文件中。请让我知道是否
我熟悉 LAMP 堆栈,多年来已经成功部署了一些基于它的网络站点。我使用过从 Apache + modPerl 到 PHP、Ruby 和 Rails 的一切。通过充分利用缓存,我的 Rails 站点可
这个问题已经有答案了: What exactly is Java EE? (6 个回答) 已关闭 8 年前。 我意识到它的字面意思是Java Enterprise Edition。但我要问的是,这到底
我当前在服务器上有一个 Java EE 应用程序。它使用struts2和Hibernate。我需要访问客户端计算机并搜索客户端计算机检测到的所有蓝牙外设的MAC地址。 那么问题是:如何访问客户端计算机
我们在 StatelessSessionBean 中有一个性能不佳的业务方法。为了提高性能,我们希望将此业务方法拆分为多个异步方法调用。 问题是这些异步方法必须在同一个事务中运行(它们必须使用同一个
希望使用 JSTL 和 Apache Torque 以及某种模板引擎来扩展当前的 Java EE 项目,以便我们可以轻松修改 View 。 有什么建议? 最佳答案 我想 Freemarker是领先的
我有一个在 tomcat 上运行的非常大的 Java EE 应用程序。不幸的是,最近我遇到了堆空间和内存泄漏错误。 所以我想知道是否有一个工具可以帮助我监控我的应用程序并给我一个每个对象的可视化展示,
这个问题在这里已经有了答案: What exactly is Java EE? (6 个答案) 关闭 4 年前。 我知道这个问题已经被问了一百万次,我也做了功课,但最后一件事我不完全理解的是,是否有
我是一名优秀的程序员,十分优秀!