包名称与文件路径不对应 - IntelliJ

Rad*_*łos 52 packages project-structure intellij-idea

我正在尝试从VCS导入项目(好吧,我实际上是第一次这样做)这是我的(导入)项目的结构:

文件结构

BTW.在多次尝试更改这些目录的属性(在其上下文菜单中)之后,将显示此屏幕.

在这些源文件'我有以下错误:

编辑器中的错误

有一次它没有任何反对,badugi.client但只报告了这个错误badugi.server.我完全不知道它是如何工作的......

同样目录中的类也看不到对方.

错误

这是来自ClientWorker类的代码(在第一个图像中可以看到)位于同一目录中,Server因此应该知道它是什么Server.

我很确定这段代码在我朋友的IDE中运行良好.如何配置IntelliJ以使其工作?

Boh*_*rdt 57

从目录结构来看,你有两个包客户端和服务器,但代码需要包badugi.client和badugi.server.

这是一种解决方法:

  1. 将光标定位到带下划线的包语句(package badugi.server)
  2. 点击ALT+ENTER
  3. 选择选项Move to package badugi.server.这将自动修复您的目录结构以匹配声明的包

要么

  1. 右键单击Project explorer中的src
  2. 选择New/Package并创建包badugi
  3. 选择客户端和服务器包并将它们拖到badugi包中

  • 如果我愿意,我应该怎么做,50个班级,所有人都要搬到包裹里?有没有办法,或者我只需要手动Alt +全部输入? (6认同)

小智 37

我有同样的问题,并通过修改我的项目的.iml文件修复它:

从:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/src/wrong/entry/here" isTestSource="false" />
  <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
  <excludeFolder url="file://$MODULE_DIR$/target" />
</content>
Run Code Online (Sandbox Code Playgroud)

至:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
  <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
  <excludeFolder url="file://$MODULE_DIR$/target" />
</content>
Run Code Online (Sandbox Code Playgroud)

在导入此项目时,以某种方式将包文件夹指定为根源目录.

  • 这应该是公认的答案.您不希望更改在生产中工作的应用程序的文件结构(可能导致您必须重新编译构建过程).相反,您应该更改IDE以使其适当地计算出来. (4认同)
  • 谢谢,特兰。此外,按照相同的逻辑,您可以使用 Intelij IDEA 通过设置来编辑它:“文件 -&gt; 项目结构 -&gt; 模块”,并将正确路径标记为“源”。 (4认同)

小智 12

我也看过几次这个错误,我总是能够通过正确识别项目的模块设置来解决它.在IntelliJ中,右键单击顶级项目 - >"打开模块设置".这应该打开一个窗口,其中整个项目结构和内容被标识为"源文件夹","测试源文件夹"等.确保这些设置正确.对于"源文件夹",确保该文件夹是您的src /或src/java(或您的源语言),视情况而定


Cra*_*tch 8

可以告诉 Intellij 忽略此错误。

文件>设置>编辑器>检查,然后在右侧搜索“错误的包声明”(在Java下,可能的错误)并取消选中它。


Sea*_*ene 7

将其添加到pom.xml(project标签内)

<build>
  <sourceDirectory>src/main/java</sourceDirectory>
</build>
Run Code Online (Sandbox Code Playgroud)

src/main/java是您要设置的源文件夹.如果您的pom.xml文件中已有此行,请检查它是否正确.

  • 对于我的情况,我从 &lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt; 更改为 &lt;sourceDirectory&gt;src/main/java&lt;/sourceDirectory&gt; (2认同)