因为某原因,尝试在eclipse上检出项目并编译打包,长时间不使用eclipse难免有些遗忘,这里做一下笔记:
前提:
1)eclipse已有svn插件能够检出项目。
2)eclipse已经配置好maven配置,配置文件配置正确;

1、首先我们看到svn中项目,右键->检出为

maven 编译出 war maven编译项目_eclipse


maven 编译出 war maven编译项目_右键_02


maven 编译出 war maven编译项目_右键_03


等待检出后:

maven 编译出 war maven编译项目_右键_04

可以看到当前项目并没有M标识,也就是还不是一个maven项目;

2、将该项目删除,逻辑删除(实际工作空间项目存留):

右键->delete

maven 编译出 war maven编译项目_java_05

然后重新import该项目:

右键->import

maven 编译出 war maven编译项目_右键_06


选择Existing Maven Projects,点击next

maven 编译出 war maven编译项目_eclipse_07


maven 编译出 war maven编译项目_maven 编译出 war_08


点击finish进行导入,完成后如下图所示:

maven 编译出 war maven编译项目_maven 编译出 war_09

3、配置JDK;

maven进行编译操作的时候需要的是jdk目录而不仅仅是jre目录;

Eclipse–>Window–>preferences–>Java–>Installed JREs,

maven 编译出 war maven编译项目_右键_10


当前我已经配置好,现在再复述一遍:

点击add–>Standard VM

maven 编译出 war maven编译项目_eclipse_11


maven 编译出 war maven编译项目_右键_12


选择本机JDK位置,选择第一个JDK目录,点击finish;

maven 编译出 war maven编译项目_eclipse_13

4、项目配置buil path:

选中项目右键–>buil path

maven 编译出 war maven编译项目_maven 编译出 war_14


maven 编译出 war maven编译项目_maven 编译出 war_15


可以看到有一个已经存在,选中后点击右侧Remove删除,然后点击Add library

maven 编译出 war maven编译项目_右键_16


点击next,可以看到我们之前设置的jdk已经是默认的,默认已选中

maven 编译出 war maven编译项目_java_17


点击finish完成;

maven 编译出 war maven编译项目_eclipse_18


apply and close 完成;

5、使用maven进行编译打包

选中其中一个模块,右键run as -->Maven clean

maven 编译出 war maven编译项目_右键_19


maven 编译出 war maven编译项目_maven_20


完成后我们可以看到target目录(target是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件)变为空:

maven 编译出 war maven编译项目_java_21


然后进行maven compile

maven 编译出 war maven编译项目_maven 编译出 war_22


在goals处写:compile

maven 编译出 war maven编译项目_maven_23


点击run:

maven 编译出 war maven编译项目_eclipse_24


成功结束;

以此类推,其他模块 common、model都是如此操作;
因为项目模块是按照层级依赖的,所以最好是从底层开始编译打包,
common->model->baseService

拓展:
Eclipse中 Run as —>Maven build 命令详解
Goals:
clean 清除编译,compile 编译,test 编译并测试,install 打包并发送到本地仓库,package 只是打成jar包,并不会发送到本地仓库

测试:
run as maven build..
goals 输入 clean test

打包:
run as maven build..
goals 输入 clean package

打包并发送到本地仓库:
run as maven build..
goals 输入 clean install

编译并打包:
run as maven build..
goals 输入 clean compile package