Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseHelios:tomcat项目-jar将不会导出或发布。可能会导致运行时ClassNotFoundException_Java_Eclipse_Netbeans - Fatal编程技术网

Java EclipseHelios:tomcat项目-jar将不会导出或发布。可能会导致运行时ClassNotFoundException

Java EclipseHelios:tomcat项目-jar将不会导出或发布。可能会导致运行时ClassNotFoundException,java,eclipse,netbeans,Java,Eclipse,Netbeans,我正在使用EclipseHelios,我想知道如何将库项目添加到我的文件夹中,该文件夹将被复制到编译项目所在的构建目录中 目前我做了以下工作: 在我的项目根目录中创建了一个lib目录 将相关JAR复制到该目录 我的项目->属性->Java构建路径->添加JAR,我从该目录添加了所有JAR 添加所有jar后,我得到了关于每个jar文件的以下警告: jar will not be exported or published. runtime ClassNotFoundExceptions may r

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

目前我做了以下工作:

  • 在我的项目根目录中创建了一个lib目录
  • 将相关JAR复制到该目录
  • 我的项目->属性->Java构建路径->添加JAR,我从该目录添加了所有JAR
  • 添加所有jar后,我得到了关于每个jar文件的以下警告:

    jar will not be exported or published. runtime ClassNotFoundExceptions may result
    
    首先,如何添加jar目录而不是单个jar? 第二个问题是,在编译应用程序时,如何才能正确部署库

    它可以是关于:

    • 一个问题:
    您可以切换到navigator视图,右键单击刷新项目,确保它不在
    LIB
    dir,
    然后尝试将JAR拖放到
    lib
    dir中,看看它是否显示出来

    • 流程问题(由此产生,无法使用):
    当您完全控制web容器/应用程序服务器时,部署jar文件就像将文件夹放在公共lib文件夹中一样简单。
    如果您不将web应用打包为
    war
    文件,那么就更容易了,因为您只需将JAR放入web应用的
    web-INF/lib
    文件夹中即可。
    但是,如果您不能完全控制web服务器或应用程序服务器,那么您唯一的选择就是打包war文件中使用的JAR

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

  • 右键单击web项目
  • 单击属性
  • 选择J2EE模块依赖项
  • 单击Web库选项卡
  • 添加外部jar(如果jar在项目之外)。将在
    Jar/Module
    下添加一个条目,确保单击复选框(选中)
  • 一切都会好起来的。我尝试导出到war文件,然后检查内容,我的jar文件确实是随war一起部署的

    • 项目配置问题
    OP在评论中提到:

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

    • 在“java构建路径”中添加“Web应用程序库”
    • 将所有相关JAR添加到
      WebContent/WEB-INF/lib
    在eclipse Junu中:

    在web项目中,将jar添加到构建路径之后, 我们必须把它添加到

    Deployment Assembly
    
    (在项目属性中)

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

    Java Build Path Entry
    

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

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

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


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

    如果ufk通过文件资源管理器(nautilus,windows资源管理器)复制了JAR,那么文件刷新问题就是正确的。在Eclipse中选择项目并按F5应该可以。非常感谢。我在“java构建路径”中添加了一个“Web应用程序库”,并将所有相关的HAR添加到WebContent/Web-INF中,从而解决了这个问题/lib@ufk:谢谢你的反馈。我已经把它包括在我的答案中了。这也适用于带有默认maven archtype项目的eclipse 2018,谢谢