scala – 项目在IntelliJ中编译得很好,Tomcat说java.lang.NoClas
我的项目在IntelliJ中编译得很好,它是一个用
scala编写的简单spring-mvc.
当我使用tomcat运行它时出现此错误: java.lang.NoClassDefFoundError: org/example/houses/SomeClassNameHere 以上不是我的图书馆的确切名称. 我的控制器看起来像: package com.example.scalacms.web.controllers import org.springframework.stereotype.Controller import org.springframework.web.bind.annotation.{ResponseBody,RequestMapping} import org.example.house @Controller class HomeController { var houses: Houses = _ @RequestMapping(Array("/")) @ResponseBody def index: String = { "hello,world!" } } 我很困惑,因为它在IntelliJ中编译得很好,它在智能感知系统中学习了我所有的课程. 可能是tomcat在我的类路径中没有库吗?我正在使用爆炸的神器. 我无法在输出窗口的任何地方看到类路径,所以我无法确认. 更新 所以我查看了/ out / artifacts / myapp_web_war_exploded / WEB-INF / lib,我没有在那里看到jar文件.为什么jar不包含在部署中?如何将它包含在intellij中? 解决方法
如果它是maven WAR项目,请检查jar是否被标记为排除在pom中,或者在pom中提供的范围内,因为任何一个都会从WAR中移除jar.
如果不是这种情况,请转到pom WAR所在目录的命令行,并执行mvn依赖:树并确认您的jar确实在那里. 如果jar在那里,则意味着它只能是IDE相关的问题.请尝试以下步骤: >废弃当前的服务器>从官方网站下载并解压缩干净的服务器>在IDE中配置新服务器>确保将模块导入为maven模块,以便IDEA完全基于poms构建编译和部署类路径>如果它已经是Maven项目,请单击Maven Projects(左上角的隐藏窗格),然后单击Reimport All Maven Projects>做一个构建 – >重建项目>单击F4 / Libraries并确认库在那里,然后运行服务器 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |