当前位置: 首页 > 知识库问答 >
问题:

IntelliJ:未正确处理源根

陆野
2023-03-14

我有以下项目结构:

ModuleName (=Content Root)
  |---src
  |    |---com
  |         |---company
  |             |---file1.java
  |             |---file2.java
  |---test-src
  |    |---com
  |         |---company
  |             |---test.java
  |--- .classpath
  |--- .project

这最初是一个Eclipse项目,我需要在IntelliJ中导入它。

然而,每次我试图导入它时,IntelliJ都与源根文件夹完全混淆了。

查看java源文件,我在包声明中得到以下错误:

package com.company;

错误:包名称“com.company”与文件路径“src/com.company”不对应

错误:包名“com.company”与文件路径“test-src/com.company”不对应

我在 IntelliJ 中正确地将“src”和“test-src”文件夹标记为源根目录。但是,它始终认为这些文件夹是包层次结构的一部分。

我在大约30个不同模块中的3个中遇到了这个问题。所有模块的结构都是一样的,我真的不明白为什么IntelliJ对大多数模块都有效,但对这三个模块却无效。

我该如何解决这个问题?

共有1个答案

端木朝
2023-03-14

为了完整起见——如果有人在类似的设置下遇到同样的问题,以下是解决方案

另一个模块(我们称之为模块B)依赖于。模块a生成的jar文件。这通常可以很好地工作,并且所需的。jar可以在模块B的lib文件夹中找到。问题是模块B。类路径文件(用于将模块导入IntelliJ)包含以下条目(我假设它是由eclipse在早期生成的):

现在,IntelliJ似乎对这个sourcepath条目感到非常困惑(因为它没有指向一个有效的位置),这在某种程度上影响了模块A的打包结构。有趣的是(这使得调试和发现实际问题变得非常痛苦),这个错误并没有在模块B中表现出来。类路径文件的位置(因为IntelliJ没有显示从。classpath文件无效),而是在父模块a中。

删除源路径条目(或将其指向有效位置,即:lib/ModuleA.jar)修复了问题。

 类似资料:
  • java.lang.IllegalStateException:迁移未正确处理data_table 应为:TableInfo{name=“data_table”,columns=url=column{name=“url”,type=“text”,notnull=false,primarykeyposition=0}..... 找到:TableInfo{name='data_table',colum

  • 我有一个自由标记 ftl 模板文件,该文件包含在 IntelliJ 项目中的标签库中。问题是 JspTaglibs 在 IntelliJ 中没有解决。该错误突出显示文本 ,错误消息为“无法解析变量'JspTaglibs'”。文件内容如下: 这是一个导入的Maven项目。包含的ftl位于一个已编译的JAR文件中,我将它作为内容根包含在一个Web模块中。 关于解析“JspTaglibs”以便可以为自由

  • 我正在使用带有thymeleaf的Spring Boot,我所有的资源都在Spring应用程序之外的路径上,例如。在dev env上应该使用url解析路径,并且live env继续路径。 为什么资源处理程序不处理这些类型的资源,但是如果我处理没有问题?我错过了什么吗? 编辑:如果是并且位置是url也没有被处理

  • 我有致命的异常:java.lang.RuntimeException:计算数据库实时数据时出现异常。在崩溃报告中 为什么TableInfo中的所有内容都是空的 谁能帮我一下,我真的不知道我做错了什么或者是不是一个bug。

  • 我对spring batch基本上是新手。第一步,我从SFTP服务器获取一个文件,并使用JSch将其传输到本地目录。第二步,我读取本地目录中的文件,并将内容写入数据库。问题在于,在某些情况下,只执行saveDruchAltransaction(步骤2),而不执行getRemoteFile(步骤1) 配置类: 读者: 作家: 微线程: 我不知道该怎么做...我一直在尝试我从各地找到的东西。请帮忙谢谢

  • 我对MongoDB Java驱动程序(使用3.0.4版本的驱动程序和3.2.3版本的MongoDB)有一个问题。我正在尝试检查是否有连接打开到MongoDB服务器,如果没有打开,则抛出异常。我应该可以抓住它: 我遇到的问题是抛出的异常没有被捕获,它似乎来自一个我无法访问的线程?对于测试,我没有运行Mongo服务器来查看抛出的异常。与本问题中的问题类似(MongoDB java driver 3.0