maven使用以及遇到的一些问题记录
来源:互联网 发布:固定资产管理 源码 编辑:程序博客网 时间:2024/05/22 19:44
maven下载路径:http://maven.apache.org/download.cgi
maven环境变量配置:我的电脑——》属性——》高级环境配置——》环境变量
系统变量 M2_HOME:maven的bin父目录,path中配置%M2_HOME%\bin,在命令行敲mvn -v查看maven版本,也顺便看下环境配置是否成功。
maven常用命令:clean,package,test,install,compile
mvn compile编译项目
mvn test 测试项目
mvn package 项目打包 打的包在target目录下
mvn clean 删除target目录
mvn install 打包编译jar到本地仓库
mvn archetype:generate 创建骨架目录
maven 骨架目录说明
src/main/java/主代码
src/test/java测试目录
根目录有个pom.xml用于项目管理依赖与构建
maven仓库与坐标
更改仓库位置:在某个盘下创建一repo文件,修改setting.xml文件的仓库位置为X:\repo并把setting.xml放repo文件下,修改myeclipse的maven use setting的X:\setting.xml。
Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素:
groupId: 定义当前Maven项目隶属的实际项目(反写公司网址+项目名)
artifactId: 该元素定义实际项目中的一个Maven项目或模块(项目名+模块名)
version: 该元素定义Maven项目当前所处的版本
packaging: 该元素定义Maven项目的打包方式
maven 依赖传递性
A->B->C C会同时依赖AB,现在如果C只想依赖B,不想依赖A
exclusions:排除依赖
<dependency> <groupId>com.huahua</groupId> <artifactId>huahua-B</artifactId> <version>0.0.1-SNAPSHOT</version> <exclusions> <exclusion> <groupId>com.huahua</groupId> <artifactId>huahua-A</artifactId> </exclusion> </exclusions> </dependency>
聚合
创建另一个maven项目C,这样A,B项目可以同时编译打包,而不需要一个一个的去打包,不过C 项目的package设置成pom,这个pom.xml可以看成是一个总的pom.xml,代码如下
<modules><module>../huahua-A</module><module>../huahua-B</module></modules>
继承
每个maven项目引用了同一个包时,我们就可以抽象出一个pom.xml的项目
<properties> <junit.version>3.8.1</junit.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies>
其他子maven项目pom.xml就可以如下定义依赖包:
<parent> <groupId>com.huahua</groupId> <artifactId>huahua-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies>
这样换版本的时候就不用一个一个去修改了,只要修改总的pom.xml文件就行了
maven创建一个web项目
只要在pom.xml文件中加入jetty或是tomcat插件再加上servlet的包就可以访问一个web项目了
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>maven01-model1</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <executions> <execution> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
executions 在打包的时候运行jetty插件 (在构建生命周期中执行一组目标的配置。每个目标可能有不同的配置。)
在创建maven项目时,特别要注意查看setting.xml,pom.xml文件是否正确,setting.xml错误会导致创建不了maven项目包缺陷包的错误。pom.xml文件错误会导致项目没法通过编译。
- maven使用以及遇到的一些问题记录
- 使用SQL遇到的一些问题记录
- maven测试以及一些开发上遇到的问题
- maven遇到的一些问题
- 遇到的一些 问题记录
- eclipse中maven的使用以及遇到的问题
- maven的使用和一些遇到的问题
- maven的一些问题记录
- maven使用中遇到的小问题以及解决办法
- 使用maven搭建ssh框架,以及遇到的大小问题
- nexus,maven使用中遇到的一些问题
- 使用Maven构建web项目遇到的一些问题
- 学习使用solr时遇到的一些问题,记录
- 记录一些Unity使用中遇到的奇葩问题
- 使用maven管理项目的一些问题处理记录
- 生产环境使用elasticsearch遇到的一些问题以及解决方法
- 使用elasticsearch遇到的一些问题以及解决方法
- 使用elasticsearch遇到的一些问题以及解决方法
- C语言实现su命令
- 【数学知识整理】
- 制作一个APP(持续更新)
- Ubuntu下的Notepad++——Notepadqq
- 名称:非递归遍历后序二叉树
- maven使用以及遇到的一些问题记录
- java文件传输基础:序列化和反序列化ObjectInputStream/ObjectOutputStream
- 以bat或.sh方式启动tomcat出现闪退
- Tunnel Warfare
- 【51nod】1779 逆序对统计 状压DP
- 1067. 试密码(20)
- Jzoj4725 素数序列
- 相关度排序
- 天河二号超级计算机