Windows XP专业版WebLogic 11g Tomcat 7 JDK1.6
我已经把补充的JAR文件放在
JAVA_HOME/jre/lib/ext ( a JDK installation )很多年了。这比修改我的CLASSPATH要方便得多,而且我开发的所有东西都可以在一个地方访问一组东西。
不过,我需要一种不同的或更好的方法。
我最近在我的电脑上安装了WebLogic 11g。因为我不喜欢在我的机器上有多个JDK或JVM,所以我将JAVA_HOME变量设置为指向那里。
然后我在那里放了一个servlet-api.jar来编译我的webapps。一切都很好。
然后我安装了Tomcat7,Tomcat7在CATALINA_HOME/lib中有自己的servlet-api.jar。在CATALINA_HOME/lib中有一个servlet-api.jar,在JAVA_HOME/jre/lib/ext中有一个servlet-api.jar会导致Tomcat7抛出错误。但是,我需要JAVA_HOME/jre/lib/ext中的一个来编译我的webapps。
有比从CATALINA_HOME/lib中删除servelt-api.jar更好的解决方案吗?
谢谢
发布于 2012-06-09 01:04:49
不要将Jar放在/ext中,而是根据实际的EE框架进行编译。这样,当随Tomcat (或其他EE安装)提供的.jar版本发生变化时,您就不会遇到问题。因此,不要再将.jar放在ext中,并将构建路径更改为实际的EE环境。
发布于 2012-06-09 01:08:40
从Java Tutorial: The Extension Mechanism
扩展机制提供了一种标准的、可伸缩的方式,使自定义API可用于运行在Java平台上的所有应用程序。Java扩展也称为可选程序包。此跟踪可以互换使用这两个术语。
扩展是一组包和类,它们通过扩展机制增强Java平台。扩展机制使运行时环境能够查找和加载扩展类,而不必在类路径上命名扩展类。在这方面,扩展类类似于Java平台的核心类。这也是扩展得名的原因--它们实际上扩展了平台的核心API。
由于这种机制扩展了平台的核心应用程序接口,因此它的使用应该明智地应用于。通常用于标准化良好的接口,例如由Java Community Process定义的接口,尽管它也可能适用于站点范围的接口。
https://stackoverflow.com/questions/10953031
复制相似问题