首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式覆盖/更改Java中认可的标准?

如何以编程方式覆盖/更改Java中认可的标准?
EN

Stack Overflow用户
提问于 2011-03-27 07:05:10
回答 1查看 1.1K关注 0票数 0

在本文档:http://download.oracle.com/javase/6/docs/technotes/guides/standards/中,它只描述了一种在Java中覆盖认可标准的非编程方式(例如提供不同的TransformerFactory实现等)。通过在<java-home>\lib\endorsed中放置罐子

有没有办法以编程的方式来规范一个经过认可的jar?(看看Tomcat的背书dir,我想这是可能的,毕竟Tomcat是用Java编写的)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-27 08:29:43

Tomcat也只是在启动JVM时设置系统属性,所以使用常规/文档化的方法,正如类加载器“如何-to”中所记录的那样 ("Tomcat通过在启动容器的命令行中包含系统属性设置-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS来利用这种机制“)。

因此,以编程的方式来实现它并不容易。我假设在JVM启动后设置系统属性没有效果(我没有对此进行测试)。

但是,仍然有可能:您只需在应用程序中启动另一个JVM,并在其中设置系统属性即可。您的应用程序必须首先检查是否设置了认可的dir,如果是的话,正常运行,如果不是:使用Runtime.getRuntime().exec(cmdarray)‘重新启动自己’(当然,系统属性设置正确)。这‘开始本身’是有点复杂的正确,但它是可能的。我工作的公司(www.day.com)将其用于所有产品,我们称之为“快速启动”。我相信我们实际上没有设置核可的dir,但是如果当前的设置不够,我们会设置最大内存(-Xmx..)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5447744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档