我正在使用Eclipse Helios,我想知道如何将库项目添加到我的文件夹中,该文件夹将被复制到我编译的项目所在的构建目录中。
目前我做了以下事情:
添加所有jar后,我收到了关于每个jar文件的以下警告:
jar will not be exported or published. runtime ClassNotFoundExceptions may result
首先,我如何添加罐子的目录而不是单个罐子? 第二个问题是如何在编译应用程序时正确部署库?!
答案 0 :(得分:10)
在日食Junu:
在web项目中,将jar添加到构建路径后, 必须将其添加到
Deployment Assembly
(在项目属性中)
将jar添加到"部署程序集"按添加按钮并选择
Java Build Path Entry
(而不是其他工作区或文件系统选项)
答案 1 :(得分:5)
可以是:
您可以切换到导航器视图,右键单击刷新项目,确保它不在
LIB
目录中, 然后尝试将JAR拖放到lib
目录中,看看它是否显示出来。
当您完全控制Web容器/应用服务器时,部署jar文件就像将文件夹放在公共lib文件夹中一样简单。
如果您不将您的网络应用程序打包为war
文件,那么它就更容易了,因为您只需将广告连播放入网络应用程序的WEB-INF/lib
文件夹中。
但是,如果您无法完全控制您的Web服务器或应用程序服务器,那么您唯一的选择就是将您用过的war文件打包为war文件。使用我最近开发的实用程序(jar文件)开发Web项目时,遇到
NoClassDefFound
错误。当然,很明显我找不到我在我的网站项目上制作和使用的jar文件(在CLASSPATH
中看不到)。
将jar添加到构建路径只会消除编译问题。将jar文件拖到Eclipse工作区的lib文件夹中并不是一个好主意 在我找到解决方案之前花了几个小时:
- 右键单击您的网站项目
- 单击“属性”
- 选择J2EE模块依赖关系
- 单击“Web库选项卡”
- 添加外部jar(如果jar在项目之外)。将在
醇>Jar/Module
下添加一个条目,确保您单击复选框(选中)。一切都应该没问题。我尝试导出到war文件,然后检查内容,我的jar文件确实部署了战争。
OP ufk在评论中提及:
我通过以下方式解决了这个问题:
- 在“java构建路径”中添加“Web App Libraries”库和
- 将所有相关的广告加入
WebContent/WEB-INF/lib
答案 2 :(得分:0)
我遇到了同样的问题,比如每当我将我的网络应用程序导出为war文件时,外部添加的jar文件都没有包含在app / lib目录中,导致部署期间出现异常。
您必须切换导航器视图,右键单击刷新项目,确保它不在LIB目录中(但在项目文件夹中)
然后尝试将JAR拖放到lib目录中,看看它是否显示出来。