Windows XP专业版 WebLogic 11g 雄猫7 JDK 1.6
我一直把补充的JAR文件放在
中JAVA_HOME/jre/lib/ext ( a JDK installation )
多年。它比改变我的CLASSPATH更方便,我开发的所有东西都可以在一个地方访问一组东西。
我需要一种不同的或更好的方法。
我最近在我的计算机上安装了WebLogic 11g。由于我不喜欢在我的机器上安装多个JDK或JVM,因此我将JAVA_HOME变量设置为指向那里。
然后我在那里放了一个servlet-api.jar来编译我的webapps。一切都很好。
然后我安装了Tomcat 7. Tomcat 7在CATALINA_HOME / lib中有自己的servlet-api.jar。在CATALINA_HOME / lib中有一个servlet-api.jar,在JAVA_HOME / jre / lib / ext中有一个导致Tomcat 7抛出错误。但是,我需要在JAVA_HOME / jre / lib / ext中编译我的webapps。
有没有比从CATALINA_HOME / lib删除servelt-api.jar更优雅的解决方案?
由于
答案 0 :(得分:2)
来自Java Tutorial: The Extension Mechanism:
扩展机制提供了一种标准的,可扩展的方式 Java上运行的所有应用程序都可以使用自定义API 平台。 Java扩展也称为可选包。 这条路径可以互换使用这两个术语。
扩展是扩展Java的包和类组 平台通过扩展机制。扩展机制 使运行时环境能够查找和加载扩展类 没有必须在类路径上命名的扩展类。在 在这方面,扩展类类似于Java平台 核心课程。这也是扩展得到他们的名字的地方 - 他们,在 效果,扩展平台的核心API。
由于此机制扩展了平台的核心API,应该使用它 明智地应用。最常见的是它很好用 标准化接口,例如Java Community定义的接口 流程,虽然它也可能适用于整个网站 接口
答案 1 :(得分:1)
不要将Jar放在/ext
中,而是针对您的实际EE框架进行编译。这样,当您的Tomcat(或其他EE安装)随附的.jar
版本发生更改时,您将不会遇到问题。所以不要再将.jar
放在ext中,并将构建路径更改为实际的 EE环境。