将独立GXT 4.2应用迁移至Maven项目:结构重构咨询
GXT 4.2 迁移至 Maven 构建:目录重构指南
一、先明确三个核心目录的职责
动手迁移前,必须理清Maven环境下GXT要求的三个目录分工:
com/myapp/client:仅在前端GWT/GXT运行时执行的代码,比如UI组件、应用入口类(如你的MainApp.java)、前端专属工具类com/myapp/shared:前后端共用的代码,比如DTO(数据传输对象)、枚举类、需要跨端序列化/反序列化的通用工具类com/myapp/served:仅在后端运行的代码,比如服务接口实现、数据库操作类、后端业务逻辑类
二、搭建Maven基础目录结构
先创建迁移根目录migration-app,再按照Maven标准搭建源码目录:
migration-app ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── myapp/ │ │ │ ├── client/ │ │ │ ├── shared/ │ │ │ └── served/ │ │ └── webapp/ # 对应原war目录内容 │ │ ├── WEB-INF/ │ │ └── index.html └── pom.xml
三、按职责迁移Java文件
- 迁移入口类:原
src/com/myapp/MainApp.java是GXT前端启动类,直接移至src/main/java/com/myapp/client/,同时修改类内包声明为com.myapp.client,同步修正相关import路径。 - 分类迁移其他类(若项目有更多类):
- 前后端共用的DTO、枚举等移至
shared目录,包声明改为com.myapp.shared - 仅服务端使用的DAO、服务实现类移至
served目录,包声明改为com.myapp.served - 前端专属的UI组件、事件处理类全部放到
client目录
- 前后端共用的DTO、枚举等移至
四、处理依赖与构建配置
- 替换lib目录为Maven依赖:原
lib下的GXT、GWT等jar包,全部替换为pom.xml中的依赖配置,比如GXT 4.2核心依赖:
同时添加GWT基础依赖和<dependency> <groupId>com.sencha.gxt</groupId> <artifactId>gxt</artifactId> <version>4.2.0</version> <scope>provided</scope> </dependency>gwt-maven-plugin插件,用于编译前端GWT代码。 - 迁移web资源:将原
war目录下的WEB-INF、index.html等全部复制到src/main/webapp目录,确保Maven打包时能正确识别web资源。
五、验证迁移结果
- 执行
mvn clean compile,检查所有类是否正常编译,解决包引用、依赖缺失等问题 - 执行
mvn gwt:run启动应用,测试前端UI、前后端交互是否正常 - 执行
mvn package生成war包,检查war包内目录结构是否符合预期
内容的提问来源于stack exchange,提问作者shae
相关产品推荐
相关产品推荐

