eclipse helios:tomcat项目 - jar不会被导出或发布.运行时可能会导致ClassNotFoundExceptions

ufk*_*ufk 6 java eclipse netbeans

我正在使用Eclipse Helios,我想知道如何将库项目添加到我的文件夹中,该文件夹将被复制到我编译的项目所在的构建目录中.

目前我做了以下事情:

  1. 在我的项目的根目录中创建了一个lib目录
  2. 将相关的罐子复制到那个目录
  3. 我的项目 - >属性 - > Java构建路径 - >添加jar,我添加了该目录中的所有jar.

添加所有jar后,我得到了关于每个jar文件的以下警告:

jar will not be exported or published. runtime ClassNotFoundExceptions may result
Run Code Online (Sandbox Code Playgroud)

首先,我如何添加罐子的目录而不是单个罐子?第二个问题是如何在编译应用程序时正确部署库?

ozm*_*zma 10

In eclipse Junu:

in a web project, after adding jar to build path, one must add it to

Deployment Assembly
Run Code Online (Sandbox Code Playgroud)

(in project properties)

when adding that jar to "Deployment Assembly" press the add button and select

Java Build Path Entry
Run Code Online (Sandbox Code Playgroud)

(and not other workspace or file system option)


Von*_*onC 5

它可以是:

你可以切换到导航器视图,右键单击刷新项目,确保它不在LIB目录中,
然后尝试将JAR拖放到lib目录中,看看它是否显示出来.

当您完全控制Web容器/应用程序服务器时,部署jar文件就像删除常用lib文件夹中的文件夹一样简单.
如果您不将Web应用程序打包为war文件,那么它就更容易了,因为您只需将jar放在WEB-INF/libwebapp 的文件夹中即可.
但是,如果您无法完全控制Web服务器或应用程序服务器,那么您唯一的选择就是将您用过的war文件打包.

在使用我最近开发的实用程序(jar文件)开发Web项目时,我遇到了NoClassDefFound错误.当然,很明显我找不到我在web项目上制作和使用的jar文件(在该文件中不可见CLASSPATH).
将jar添加到构建路径只会消除编译问题.将jar文件拖到Eclipse工作区的lib文件夹中并不是一个好主意.
在我找到解决方案之前,我花了几个小时:

  1. 右键单击您的Web项目
  2. 单击属性
  3. 选择J2EE Module Dependencies
  4. 单击"Web库"选项卡
  5. 添加外部jar(如果jar在项目之外).将添加一个条目Jar/Module,确保您单击复选框(选中).

一切都应该没问题.我尝试导出到war文件,然后检查内容,我的jar文件确实部署了战争.

  • 项目配置问题

OP ufk在评论中提到:

我解决了这个问题:

  • 在"Java构建路径"添加"Web应用程序库"库
  • 将所有相关的罐子加入 WebContent/WEB-INF/lib