IDEA中Mark Directory as以及package和directory之间的转化

IDEA中Mark Directory as以及package和directory之间的转化,第1张

今天将Eclipse中的文件直接复制粘贴到了IDEA的工程下,发现原有的directory变为了package,且只能在src下新建package不可以新建directory。我们先介绍directory的mark属性再介绍怎么解决这一问题。
我们先随便选取一个package/directory,右键,可以看到如下结构(根据directory的mark不同会有差异)

图片中一共有六种属性,我们介绍前五种(参考简书:IntelliJ IDEA 之 mark directory as的作用)

Sources Root

Sources Root也就是新建工程中src的默认属性,这种文件夹中的内容会作为构建过程中一部分需要被编译的源码。

Test Sources Root

该mark类似于Sources Root,但是在该文件夹下存放的是用于测试用的代码。一般使用这种方法将生产文件和测试文件分开

Resources Root

一般用于存放程序运行需要的资源文件,例如图片,txt文件,属性文件等

TestResources Root

与Resources Root类似,但是存放的是用于测试的相关资源文件

Excluded

顾名思义,IDEA会排除该文件夹中的内容,不会对该文件夹中的代码进行代码检查和代码提示

directory为何会转为package?以及如何修改

问题原因

src的初始属性为Sources Root,所有此属性文件夹下的子文件夹会自动转化为package。如果不改变src的mark,将其他文件夹直接复制到src下,会导致复制过来的文件的结构产生变化,出现路径错误。

演示如下:我们直接将一个文件夹P2(P2中有名为turtles的package,package中有多个.java文件)复制粘贴到src之下,会发现原本的directory转为了package

而turtle下的.java文件因为项目结构发生变化产生报错

Package name ‘turtle’ does not correspond to the file path ‘P2.turtle’

解决办法
右键点击src,出现按照图中所选更改src的属性,删除src的属性即可,src的原有文件中的结构也有可能发生相应变化,之后根据需要修改src下其他文件夹的属性,在这里我们将P2修改为Sources Root,其下文件夹自动转为package。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/794867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存