以前一直用 eclips
这次用 intellij 看一个 web 项目
结构如下

就是普通的那种 eclipse web 项目
在 intellij 下, 模块结构如下:
<project version="4"> <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/inxedu.iml" filepath="$PROJECT_DIR$/inxedu.iml"/> <module fileurl="file://$PROJECT_DIR$/src/main/main.iml" filepath="$PROJECT_DIR$/src/main/main.iml"/> </modules> </component> </project>我很奇怪啊 /src/main 明明就是这个项目的一个组成部分 为何被独立出来成为一个模块? 使得项目模块和这个组成部分平行关系似的
1
esolve OP |
2
esolve OP |
3
gam2046 2017 年 5 月 8 日
近似概念:
Eclipse Workspace 对标 Idea Project Eclipse Project 对标 Idea Module 另外,jetbrains 全家桶 大法好。 |
4
WispZhan 2017 年 5 月 8 日 via Android
@gam2046 个人感觉虽然这个说法没有错,但是还是有点不合适。
主要是 eclipse 的 workspace 这个概念很容易混淆。 可以看其实如果用过 VS 的话,IDEA 的 project 更像是 VS 的解决方案。解决方案里包含 project。 --- 其实这些都是模块化方案的一种体现。具体看 OSGi 或者 Jigsaw。又或者 Java 官方文档里的模块化内容。 |
5
Ouyangan 2017 年 5 月 8 日
eclipse 转 idea 很多人都会有这种困惑 , 多用用就好了..
|
6
lovedebug 2017 年 5 月 8 日
idea 里面模块就是工程,可以导入多个工程(模块)
如果 eclipse 转,先把旧工程里的模块挨个导入,然后手动设置依赖。 src/main 这种方式不是约定吗? 约定优于配置 |
7
tedzhou1221 2017 年 5 月 8 日
这不是 Maven 的项目结构吗?约定好的啊
如果你自己随便创建个 Web 项目,你会觉得又不一样了 |
9
lovedebug 2017 年 5 月 8 日
@esolve 在项目 Project Struce 设置里应该只有一个模块才对
你在项目设置里能看到你的 module 名字是 inxedu,但是 maven 工程默认把 src/main 视作 source 了。所以就平级了。 |
10
lovedebug 2017 年 5 月 8 日
idea 支持一个项目(Maven 项目)多重模块(Project 即 maven 子模块)
|
11
yuedong 2017 年 5 月 8 日
楼主的疑问是 /src/main 为何是一个 module,其实,你自己用 IDEA 新建一个 maven 工程,是不会把 /src/main 当做 module 的,或许你是导入进来没处理好,正常情况下不会有 /src/main/main.iml 的
|