更小更简单的 Maven 项目
来源:dev.to — 2026-10-22
📋 概述
Codename One 上周把 Gradle 项目改小,这周轮到 Maven:新的 archetype 默认只生成根 POM 和 common 模块,一个平台模块都不带,模拟器和各平台构建照样能跑。判断标准是「打开一个新应用,应该先看到这个应用,而不是先学一遍构建结构」。原生实现也不再需要额外的 POM:mvn cn1:generate-native-interfaces 仍会生成平台源码目录,Android 放 android/src/main/java,iOS 放 ios/src/main/objectivec;只有当某个平台需要独立依赖或插件、即存在 <platform>/pom.xml 时,它才成为模块。
🔑 核心要点
- 新项目结构是「两个 POM」,而不是每个目标平台一个目录。
- 有没有 <platform>/pom.xml 才决定它是不是模块,原生源码目录本身不算。
- JavaSE 实现编译到 common/target/cn1-javase/classes,避免被误打进设备包。
- platformModules 默认 none,可按需写 all,或用逗号列出具体平台。
💡 金句
“Opening a new application should show you the application.”
译:打开一个新应用,应该让你先看到这个应用。
← 返回 dev.to 首页