创建新模块时遇到的几个问题

这几天在创建一个新模块的时候碰到了几个问题,记下来以免再犯。
1、编译时出现 org.hibernate.AnnotationException: @OneToOne or @ManyToOne on x
xx references an unknown entity yyy。


原因:在项目组件扫描时,自动扫描父模块的Conponent,不知道什么原因祖父模块的Entity没有扫描到。但本来我也没想要它扫描父模块的Entity,只需要它里面的一个类就好了。
解决方法:在启动类加上@ConponentScan注解,强制扫描本项目里面的Conponent。如图:

但其实这么想的话,也可以用@EntityScan去强制扫描父模块里面的Entity?没试过,不晓得
2、启动时出现NoClassDefFoundException。
原因:这个现在重现不出来了。。。很奇怪。必应上找到的是类加载的时候没有这个类,尝试把该类加到Path里面去,但是没有用。这个类是在父模块的POM文件中依赖的,原则上来说应该是没有问题。
解决方法:在该项目的POM文件中也加入该依赖。

3、启动web服务的时候,api找不到入口,报404错误
原因:找了一圈下来才发现,之前在解决扫描的时候没有把Controller层给扫描。。。很蠢的错误,但花了很长时间。。。
解决方法:在@ConponentScan中加入Controller的扫描

原文地址:https://www.cnblogs.com/lewisyoung/p/12043932.html

时间: 2024-12-10 00:59:24

创建新模块时遇到的几个问题的相关文章

Magento 2开发教程 - 创建新模块

视频在youtube网站国内访问不了,可以使用FQ软件查看. 视频地址:www.youtube.com/embed/[email protected]=1 下面是视频文字介绍: Magento 2系统整体结构是建立在模块的基础上.通常,创建定制的第一步是构建模块. 要创建模块,需要完成以下步骤: 创建模块文件夹 创建 etc/module.xml 文件. 创建 registration.php 文件. 运行 bin/magento setup:upgrade脚本安装新模块 检查模块是否正常工作

FlowPortal-BPM——创建新模块

---恢复内容开始--- 一.设置webconfig (1)数据源设置 添加所有所用到数据库 (2)修改企业信息 二.Main.ashx--添加新的功能选项卡 new { id = "EXECUTE", title = Resources.YZStrings.Module_Execute, modulePerm = new YZModulePermision("e52e8214-6e6e-4132-9873-d33a54eb977d", YZModuleDenied

IDEA创建新文件时自动生成时间和作者

打开设置,打开下图的选项并且输入 /** * @author 你的名字 * @date ${DATE} ${TIME} */ 原文地址:https://www.cnblogs.com/yamiya/p/12364748.html

cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)

之前一直使用cocos2d-x2.2写游戏,写了几个游戏后,想尝试下3.x版本的新功能,就下载了cocos2d-x3.2版本. 参照官方文档的说法,cocos2d-x3.x版本需要python2.7环境支持,python2.6以及python3.x版本都不行,所以特意去python官网下载了2.7.8版本,安装好后进入目录: cocos2d-x-3.2\tools\cocos2d-console\bin 执行命令: python cocos.py new HelloCpp -p com.hell

administrator无法创建新用户的解决

操作系统win2003sp2,已经是administrator了,但是创建新用户时提示: 在计算机 SERVER-05 上创建用户 abc 时,出现了以下错误: 拒绝访问. 百思不得其解,搜遍google和百度都没对症解药. 然后打开事件查看器,发现创建用户时系统抛错如下: SAM 无法更改数据库.很可能是因为内存 或磁盘空间不足.SAM 数据库会被还原为先前状态. 最近的更改都会丢失.请检查可用磁盘空间 和页面文件大小设置的最大值. 搜了下SAM的相关知识,估摸着要么是文件被破坏,要么是权限不

NFS(expirtfs命令,NFS客户端创建新文件所属组和所属主都为nobody)

一.exportfs命令 nfs进程不能随便从新启动,如果不得已要重启,必须把客户端的挂载目录卸载,然后在从新启动. 这时候就可以用exportfs命令 -a             全部挂载或者全部卸载 -r             重新挂载 -u             卸载某一个目录 -v             显示共享目录 实验: 我们在服务端的配置文件从新写一行配置 [[email protected] nfstestdir]# vim /etc/exports /tmp/ 192.

sublime text 3创建新文件插件-AdvanceNewFile

这里要记录sublime text 3 在创建新文件时安装的插件–AdvanceNewFile ST本来自带的创建新文件的快捷键是ctrl+n.但是用户需要保存时才可修改名称以及文件路径.但是安装完AdvanceNewFile插件后,一切都会变得相当容易. 依旧在 package control 中选择 package control install.然后输入AdvanceNewFile,点击安装.知道出现如下界面,证明安装完成. 测试: 按着ctrl+alt+n ,下方会出现一个填写路径的框,

vtiger7新模块的创建和配置

vtiger出7.0了,以前的那些配置方法已经不管用了 下面是新的 模块创建及一些页面及功能配置的方法 下面介绍三个点 1.新建一个模块 2.实现单图片上传的功能 3.实现页面summary显示的功能 新建模块的方式还是一样的 vtigercrm\vtlib\tools目录下有个console.php文件 运行它 选择1,创建一个模块. 然后会提示让你输入一个字段名,没有字段名就无法在列表上显示,如果直接回车,默认为name 当显示 done则新建完成 我这里新建了一个Message模块 新建好

Drupal8开发教程:模块开发——创建新页面

之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块添加新页面非常简单,使用 hook_menu 定义路径及回调函数返回要显示的结果即可.但 Drupal 8 却要麻烦很多,虽然也是定义路径,然后关联用于显示内容的函数,但却要在两个文件中分开进行.而且 Controller 文件还有目录结构要求,这些变化都需要慢慢来适应了. 除了上文中定义的 hello_wo