我最近遇到了glassfish standalone(v3.1)vs glassfish embedded(v3.1)vs java SE以及java.endorsed.dirs的使用方式的问题.我遇到的具体问题在这里,但我认为这不是我最后一次遇到类似问题.
我在这里和这里找到的信息建议在编译时将glassfish认可的lib添加到bootstrap类路径.但是,这个错误报告表明,当使用嵌入的glassfish时很难正确设置认可的库.
因此,似乎当我部署到独立的glassfish容器时,我的应用程序将针对glassfish包含的认可库运行,但是当使用嵌入式容器时,它不会.我遇到了我原来的问题,因为maven-embedded-glassfish-plugin没有启动使用像glassfish独立的认可库这样嵌入的glassfish.我也不确定其他容器(例如:jboss)是否包含与glassfish相同的一组认可库.
所以,我(1)应该努力(很多)确保我的应用程序是针对认可的lib编译的,并且总是部署到使用已认可的libs引导的容器中,或者我应该坚持使用捆绑的内容使用Java SE 6?
如果我选择(2),在将应用程序部署到使用较新的背书库进行自举的容器时,是否需要担心不兼容问题?
我很感激任何人都能提供的见解.