在IntelliJ中找不到类文件

在IntelliJ中,当我尝试编译时,我得到了这个奇怪的错误。

Cannot find annotation method 'cascade()' in type 'javax.persistence.ManyToOne': class file for javax.persistence.ManyToOne not found 

我知道,问题似乎很明显,但是在这个问题上花了太多时间我现在把信任交给你了!

我使用ideaCommunity-9,在那里我为JBoss创建了一个全局库,其中包含所有JBoss jar,包括ejb3-persistence.jar。 我的模块包含这个库,我已将其移至依赖项的顶部。 在类路径中没有其他地方我有一个javax.persistence.ManyToOne类,它也可以在IntelliJ中打开而不会出现问题。
如果我打开文件,我收到编译错误,IntelliJ显示没有问题,并按Ctrl + B导航到类文件。
代码也是用ant构建的,这里工作正常。

除了上面的错误,我在同一条路径上得到了另外六个(表中的名字等) – 都与JPA有关。 我还收到一条消息说“请向JDC yada yada yada提交一个错误。”

尝试勾选依赖项中的“导出”复选框。

我的意思是:“文件”菜单 – >项目结构 – >模块 – >依赖项,在那里你可以看到包含在模块中的库。 您还应该在“导出”列中的每个lib附近看到一个复选框。

刚刚得到这个,但不是那些事情是我的问题。 我从github下载了一个项目,然后在尝试运行junit测试后在intel J中打开了问题。

解决方案:项目结构 – >模块 – >’Project_Name’ – >源(选项卡) – >单击src文件夹 – >标记为:来源

这应该突出显示src为蓝色,所有类文件应该是带有C的圆圈而不是看起来像普通文件。 尝试再次运行测试,看看是否这样做。

我敢肯定,现在回答为时已晚,但我不得不采用不同的方法来解决此问题。

我必须创建它作为全局库并将该库添加到模块,然后只解决错误。

将其添加为全局库

然后将该库添加为项目的依赖项

这个SO问题不是那么相似吗?

解决方案是添加所有JBoss jar(你做过),还有所有持久相关的库(比如Hibernate)

请参阅此JBoss项目配置 ,例如:

alt text http://jdick.co.uk/blog/wp-content/uploads/2008/12/projectstructure1.jpg

简而言之, ejb3-persistence.jar可能不是这里的问题,只是缺少其他元素的症状。
或者,如果是问题,则可能与未正确部署(对于WebApp配置 )有关。

这是一个想法:也许你的jar文件有多个版本。 使用Total Commander等文件管理工具在文件夹层次结构中搜索文件ejb3-persistence.jar 。 类路径中文件的多次出现可能会使IntelliJ Idea混淆为无法识别正确jar中的正确类。

有一个类似的问题(“找不到类弹簧… DefaultResourceLoader即使它在我的maven依赖项中)并且没有重新validation缓存的调整似乎有所帮助。吹掉我的$ HOME / .Idea *路径和(基本上)开始从头开始为我修好了。至少现在……

我在尝试执行.groovy测试类时遇到了class not found错误消息,该类引用了一个.groovy文件(位于子模块的源目录的根目录中 – 即没有包)。

将源文件.groovy移动到包中,为我解决了问题。

移动:

 src/main/groovy/RunMe.groovy 

 src/main/groovy/somePackage/RunMe.groovy 

在intelliJ中,当我在文件级别构建(ctrl + shift + F9)时,我遇到了这个问题。

原因是,我对同一个maven项目中的其他文件进行了更改,但没有被选中。

我通过在项目级别构建来解决它(在intellij中选择Maven项目并按ctrl + shift + F9)