我是相对较新的Java开发人员,我的常用技能在于Microsoft产品和C#。
然而,我已经设法使用Restlet编写了一个不错的Web服务,并整合了Toplink并做了一些数据库CRUD等等。
我在Eclipse中针对Tomcat 5.5开发了这个。我按照教程和示例进行操作,并设法将一些有用的东西放在一起。
我的所有jar文件都在我的项目的WebContent / WEB-INF / lib目录中 - 我很快意识到当我将它作为WAR文件导出并在Tomcat中部署时,它会将这些jar文件与它一起存储并将它们存储在本地到申请。
很好,但是当你尝试取消部署应用程序时,它只会部分地完成它,因为Tomcat“保留”它正在使用的一些jar,即Oracle JDBC和Toplink。这是有道理的,因为Web服务正在使用这些罐子,因为正在进行实时的Oracle连接。
那么我想我应该把所有这些罐放在一个共同的地方,所有部署的应用程序都可以访问它们,我认为该文件夹是:
C:\ Program Files \ Apache Software Foundation \ Tomcat 5.5 \ common \ lib
(在我的情况下)。这是完全合理的,这是合乎逻辑的,因为您不希望Tomcat上的所有应用程序都引用相同的jar。所以我从项目的lib文件夹中删除了所有的jar文件,并将它们放在common \ lib目录中。
现在我的应用程序将无法正常工作 - 它无法在src中找到我的源代码,src是我针对这些jar编程的自定义定制代码。它只有在我查看我的源代码并放入上述目录时才有效。奇
我显然对类路径和构建路径以及所有这些东西感到困惑,并且必须让这些东西都错了,因为我不是Java专家,因为我很乐意承认我已经将这几个一起黑了 - 所以任何人都可以用非专业术语向我解释我应该如何构建我的项目以使其与Tomcat中的公共文件夹中的jar一起工作。或者网上是否有任何好的资源来帮助向我解释我应该做些什么。
希望这一切都有意义......
这是我当前项目的图片:
答案 0 :(得分:1)
听起来你没有使用WTP网络项目。
如果您已经安装了Eclipse IDE for Eclipse EE开发人员的Eclipse风格,那么WTP已经捆绑在那里。否则在这里更新网站 - > http://download.eclipse.org/webtools/updates
安装WTP后,您应该创建“动态Web项目”。 一般情况下,我建议只在这里放置您的表示层(JSP,CSS,HTML),并将所有纯Java项目放入标准的“Java”项目中,稍后将其作为依赖项添加到“动态Web项目”。
WTP可以在多个容器下运行您的Web应用程序,幸运的是Tomcat受支持。 您需要通过Window-> Preferences-> Server-> Runtime Environments配置它。
配置运行时环境后,您可以创建服务器运行时:
配置服务器后,您可以运行它,也可以将其置于调试模式。依赖项目引用的所有源代码都可用于调试。
注意: 根据个人经验,我不建议使用common / lib。将Web应用程序所依赖的所有jar放入其WAR文件中。如果你担心依赖跟踪,那么就开始研究Maven和m2eclipse。
答案 1 :(得分:0)
通常我把我的罐放在$ CATALINA_BASE / shared / lib /
中
请阅读此documentation以获得更多说明,特别是类装载机定义部分
复制jar后,还要重新启动服务器。
答案 2 :(得分:0)
转到窗口>显示视图>其他>服务器>服务器,服务器选项卡将显示在下面的控制台选项卡。单击您的服务器,然后单击F3,这将打开服务器配置 检查服务器位置,并确保选中了使用tomcat安装(控制tomcat安装),然后单击下面的Modules选项卡,它将显示已安装的模块,确保模块存在或添加它。