前言
idea中有“new project”和“new mudule”两个选项,这两个选项有什么区别?
我们应该在什么情况使用哪个“new”?
实际上我们应该清楚的知道在idea中“project”与“module”是父子关系,project是父亲,包含了module,但是我还是要验证以下他们的区别在哪
父子关系
当我们新建一个module的时候idea会让我们指定一个“父”项目,也就是“project”项目
查阅资料
查到了Eclipse和idea的选项映射关系
可以看到Eclipse中的workspace = idea中的Project
测试
新建空的java_project
新建空的java_module
新建空的maven_project
新建空的maven_module
结论
父类project只是多了一个.idea名称的文件夹,其他的文件结构与module完全吻合
.idea文件夹
可以看到workspace.xml也在.idea文件夹中,进入内部看一下
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="3d2812d1-703f-4202-98ae-578e87575085" name="Default Changelist" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ProjectId" id="2FCAYMeh5OIghHlW8LrSph28T8W" />
<component name="ProjectViewState">
<option name="showExcludedFiles" value="false" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="3d2812d1-703f-4202-98ae-578e87575085" name="Default Changelist" comment="" />
<created>1663985739007</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1663985739007</updated>
</task>
<servers />
</component>
</project>