代码之家  ›  专栏  ›  技术社区  ›  ufk

EclipseHelios:tomcat项目-jar不会被导出或发布。可能导致运行时类NotFoundExceptions

  •  6
  • ufk  · 技术社区  · 14 年前

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

    目前我做了以下工作:

    1. 在我的项目根目录中创建了一个lib目录
    2. 把相关的罐子复制给那个主管
    3. 我的项目->属性->Java构建路径->添加JAR,然后从该目录添加所有JAR。

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

    jar will not be exported or published. runtime ClassNotFoundExceptions may result
    

    首先,如何添加jar目录而不是单个jar? 第二个问题是,在编译应用程序时,如何才能正确地部署库?!

    3 回复  |  直到 14 年前
        1
  •  5
  •   Community T.Woody    7 年前

    可能是关于:

    是否可以切换到“导航器”视图,右键单击“刷新项目”,确保它不在 LIB 董事,
    然后尝试将罐子拖放到 lib 去看看有没有出现。

    当您完全控制web容器/应用程序服务器时,部署jar文件就像将文件夹放入公共lib文件夹一样简单。
    如果不将web应用打包为 war 这样就更容易了,因为你只需要把罐子放在 WEB-INF/lib 你的webapp的文件夹。
    但是如果你不能完全控制你的web服务器或应用服务器,你唯一的选择就是打包你在war文件中使用的jar文件。

    在使用我最近开发的实用工具(jar文件)开发web项目时,我遇到了 NoClassDefFound 错误。当然,很明显,在我的web项目中创建和使用的jar文件找不到(在 CLASSPATH ).
    将jar添加到构建路径只会消除编译问题。将jar文件拖到Eclipse工作区的lib文件夹中不是一个好主意。
    我花了几个小时才想出解决办法:

    1. 右键单击web项目
    2. 单击属性
    3. 选择J2EE模块依赖项
    4. 单击“Web库”选项卡
    5. 添加外部jar(如果jar在项目之外)。将在下面添加一个条目 Jar/Module ,确保单击复选框(选中)。

    一切都会好起来的。我尝试导出到一个war文件,然后检查内容,我的jar文件确实与war一起部署。

    • 项目配置问题

    手术室 ufk 评论中提到:

    我通过以下方式解决了这个问题:

    • 在“java构建路径”中添加“Web应用程序库”库
    • 将所有相关的jar添加到 WebContent/WEB-INF/lib
        2
  •  10
  •   ozma    11 年前

    在eclipse Junu中:

    在web项目中,将jar添加到构建路径之后, 必须加上

    Deployment Assembly
    

    (在项目属性中)

    将jar添加到“部署程序集”时,按add按钮并选择

    Java Build Path Entry
    

    (而不是其他工作区或文件系统选项)

        3
  •  0
  •   REDA    11 年前

    我面临着同样的问题,比如每当我将我的web应用作为war文件导出时,外部添加的jar文件都没有包含在app/lib目录中,从而导致部署期间出现异常。

    必须切换navigator视图,右键单击refresh the project,确保它不在LIB目录中(而是在project文件夹中)

    然后尝试将JAR拖放到lib dir中,看它是否出现。