当前位置:  开发笔记 > 编程语言 > 正文

project会将maven依赖关系视为文件夹而不是jar文件,并且在运行时会产生ClassNotFoundError

如何解决《project会将maven依赖关系视为文件夹而不是jar文件,并且在运行时会产生ClassNotFoundError》经验,为你挑选了0个好方法。

在我的maven项目中,我有这个依赖项,这是我自己的项目,安装在我的本地maven中(通过cmd mvn install):

    
        com.myproject
        api-core
        1.0.0
    

但是,当我启动tomcat服务器时,我将在此项目中的类上获得ClassDefNotFoundError.

我尝试通过项目的属性将jar添加到部署程序集中,但是当我添加此jar文件时,它将被视为文件夹,并始终放置在"WEB-INF/lib/core.api"的"部署"路径中. 1.0.0.jar"这是lib中的一个文件夹,因此tomcat无法找到jar文件.我还注意到在Web部署程序集中,Maven依赖项已部署到WEB-INF/lib.显然我自己的jar文件在部署时不被视为Maven依赖项.当我进一步查看Eclipse中的Maven依赖项时,jar文件被打包为"core"文件夹,并且它不被视为jar文件.因此,在运行时,Web应用程序无法找到jar文件并给我抱怨.

进一步的调查显示,在Eclipse中,我已经导入了核心项目,并且Eclipse"智能"地认识到项目是生成依赖项的项目,因此自动将jar转换为文件夹.如果我删除核心项目,maven依赖项将成功添加为jar文件,然后部署到tomcat问题根本没问题!

所以,我的问题是,这是一种保持文件夹结构依赖性的方法,而我仍然可以将核心项目导入我的工作区吗?

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有