本文解决问题主要参考——无法找到主类问题解决方法的汇总:
https://blog.csdn.net/Angry_Mills/article/details/81511130
首先这个问题,产生的原因有很多,需要逐个排查,但是如果根据自己问题发生的情况和特征,可以帮助你更快的定位问题和解决。本文主要描述我定位问题的过程和解决方式
描述一下我的问题,clone一个新的多模块项目,执行报错。我的情况特征如下:
-
项目在其他同事那里可以正常运行
-
本地其他多模块项目可以正常运行
所以,问题应该出现在这个项目在本地运行时的一些配置问题,和IDEA的配置以及项目本身无关。两个解决方式,亲测,两种方式都可以解决我的问题。
-
删除本地项目,参考
博客
的第六部分,使用通过http链接,使用IDEA来重新从Git上clone项目。
-
检查项目在IDEA中的一些相关设置——Project Structure和运行方式(Configuration)的设置
如果你的代码已经做了一些本地修改,并由于一些原因,无法提交,第二种方法更适合你,虽然它更麻烦一些。本文接下来会详细介绍一下如何排查问题及解决问题。
一、运行方式
从最简单的开始,可能在运行时你没有准确告诉IDEA主类的位置,我们通过“Edit Configuration”来检查一下,这个主要时配置项目运行时的参数,打开方式如下图。
主要观察下图位置,2是整个项目的文件目录,1是主类(启动类,如果不知道在哪里,点击下拉框,IDEA会自动加载,或者直接连续按两下shift查找main()函数位置即可知),3是1所在的模块(如果不是多模块项目,这里和2一样),如果选择了1,3会自动加载进来。
二、Project Structure配置
如果一没有任何帮助,那么很有可能是项目配置出现问题,简单说IDEA读不懂你的项目结构了。打开Project Structure(参考
博客
),出现这个问题,一般都是“Modules”配置出现问题。不要急,这里会稍微有一点麻烦,慢慢排查就会解决。
首先来看module的整体结构是否规范。单模块项目,这里比较简单,只有一个主模块,下面打开后有一个spring和一个web,类似下图的“web”目录。这里演示的是多模块项目,分为三类:主模块、启动类所在模块、其他模块。主模块flow也是项目名称,下面什么都没有;启动类所在模块,下面有spring和web的module;其他模块下只有一个spring的module。缺什么点上方的加号,按照图标选择新建需要的模块即可。
然后我们来看模块内部的配置,产生这个问题,只有可能发生在主模块和启动类所在模块里,每个模块有四大类配置,这个问题又仅与其中的“Source”和“Paths”配置相关。
我的问题出在主模块的“Source”配置中。正常右侧的Content Root只有一个文件根目录,我当时这里还有所有其他子模块的目录,处理方法,把没有用的模块叉掉就好了。
同理,启动类所在的模块也是类似的。右侧的Content Root只有本模块所在的根目录,除此之外,还需要做一些项目的基本配置。需要配置好Source、Resource和Excluded目录。
然后检查一下Path目录,我的项目是spring boot目录,生成的class文件放在各个根目录下的target/classes和target/test-classes目录下,其他类型的项目可能略有不同,也可仿照其他人的项目进行配置。
点击OK,配置结束,手工。重新运行一下
三、清理缓存
什么?你还没好?清一下缓存吧。老天保佑这一步执行之后就可以顺利解决问题~
清理缓存重启IDEA file-->invalidate Cache/restart
结果:启动服务仍然报同样的错误
2,缓存问题;
尝试:菜单—》File—》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后Rebuild Pro
该问题是很多人都碰到过的,而我昨天恰巧也碰到了一次,但是用了网上查的各种方法,比如清理缓存、重新
加载
等方法都不管用,但是阴差阳错之间,我把我的web项目换到了一个可以使用的文件夹中,这个时候问题就解决了。大家在碰到这种问题时,不妨先试试其他人提供的方法,最后如果还不行就可以按照这种方法尝试一下,如果又看不懂的,欢迎大家留言询问。
原因1、启动类路径错了
由于我本来项目路径是com.elif.manager,启动类路径是com.elifen.manager.ManagerApplication,后面为了和其他小伙伴路径统一,改成com.elif.manager,但是IDE的RUN/Debug的Configuration路径没有变,导致
找
不到
启动类
报错
其实IDE已经给提示了,你的启动类配置上有个小❌
原因二:缓存问题
某天不知道啥原因,项目启动就
报错
找
不到
或
无法
加载
主类
,观察半天,始终看不出解决办法,遂尝试执行File ->.
打开右上角的Edit Configurations,发现有飘红
报错
,说
找
不到
这个类所在的包
再打开左侧的工程文件目录,发现上述包所在的目录是一个普通目录,导致编译器
找
不到
这个路径
三、解决方案
右击包所在的目录scala,选择Mark Directory as -> Sources Root,这样编译器就可以识别到这个包的路径了
从同事那里复制过来的项目,或者经过修改的项目,或者本地项目更改了启动类的名称时,都有可能会出现此异常“
找
不到
或
无法
加载
主类
xxxx”。
打开
idea
的 project structure
1、看一下moudle的名称是否与现在的项目名称一致。
2、看一下moudle中的paths设置中,jar包的输出位置,以及编译输出位置是否和现在修改后预设的相同。
3、修改为相同后,maven clean,重新运行项目,看看是不是有了。
1、打开运行设
结果:启动服务仍然报同样的错误
2、缓存问题;
尝试:菜单—》File—》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后Rebuild Project
结果:启动成功,问题解决
3、设置一下file–>project structure–>Module:
paths里面的编译路径Complier outpu
EDF阅读器
允许用户在 Matlab 中读取 .edf 脑电图文件。
在 Matlab 中读取小的 EDF 文件相对容易,网上有多种方法可以这样做。 但是,当 EDF 文件非常大时,这些工具不能很好地工作,因为它们通常会尝试将整个文件读入内存。
这个 EDF-Reader 创建一个代表 EDF 文件的对象,并提供对 EDF 文件中数据的随机访问。 创建对象时,将 EDF 标头读入对象,并且可以使用 GETDATA 方法读取(部分)可用数据。
Example: Reading the first 10000 values of the second channel in 'newFile.edf'
>> out = EDFData('newFile.edf')
out =
EDFData with properties: