首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JAR文件放在哪里以避免冲突?

将JAR文件放在哪里以避免冲突?
EN

Stack Overflow用户
提问于 2012-06-09 00:59:22
回答 2查看 1.4K关注 0票数 1

Windows XP专业版WebLogic 11g Tomcat 7 JDK1.6

我已经把补充的JAR文件放在

代码语言:javascript
复制
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更好的解决方案吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-09 01:04:49

不要将Jar放在/ext中,而是根据实际的EE框架进行编译。这样,当随Tomcat (或其他EE安装)提供的.jar版本发生变化时,您就不会遇到问题。因此,不要再将.jar放在ext中,并将构建路径更改为实际的EE环境。

票数 1
EN

Stack Overflow用户

发布于 2012-06-09 01:08:40

Java Tutorial: The Extension Mechanism

扩展机制提供了一种标准的、可伸缩的方式,使自定义API可用于运行在Java平台上的所有应用程序。Java扩展也称为可选程序包。此跟踪可以互换使用这两个术语。

扩展是一组包和类,它们通过扩展机制增强Java平台。扩展机制使运行时环境能够查找和加载扩展类,而不必在类路径上命名扩展类。在这方面,扩展类类似于Java平台的核心类。这也是扩展得名的原因--它们实际上扩展了平台的核心API。

由于这种机制扩展了平台的核心应用程序接口,因此它的使用应该明智地应用于。通常用于标准化良好的接口,例如由Java Community Process定义的接口,尽管它也可能适用于站点范围的接口。

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

https://stackoverflow.com/questions/10953031

复制
相关文章

相似问题

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