Maven注意事项
Maven好处:
1、依赖管理:对jar包统一管理
2、项目构建:项目编码完成后,对项目进行编译、测试、打包、部署,实现项目一键发布
1.配置环境变量
注意:maven工具必须有jdk环境。并且:jdk的环境变量key 必须是:JAVA_HOME
配置环境变量:MAVEN_HOME 配置到bin目录上一级
2.配置本地仓库
在maven程序配置文件中指定maven仓库路径
settings.xml : <localRepository>D:\soft\bos_repository</localRepository>
Maven的标准目录结构:
ProjectName
src
main
java ---->程序主体项目源码
resources ---->项目运行需要的配置文件
[webapp](放入一些页面素材,相当于WebContent)/WEB-INF/web.xml
Test
Java ---->单元测试类
resources
pom.xml ---->每一个Maven都有的配置文件
Maven常用命令:
1.clean: 清理 命令窗口:mvn clean
将项目根目录下target目录删除。
2.compile: 编译
将src下java文件编译为.class文件
3.test: 测试
将src/test/java目录下的单元测试类中方法执行。 注意:单元测试类名必须为 XxxTest.java
4.package: 打包
java-project ----> xxx.jar
web-project ------> xxx.war
打包项目到target目录。
现象:测试时候也会执行代码编译; 执行打包时候也会执行编译+测试
5.install: 安装-安装到本地仓库
将项目打包发布到本地仓库
现象:执行install命令,compile,test,package都执行
Maven的概念模型
两个核心:
1.依赖管理模型(Dependency)
2.项目对象模型(POM)
在eclipse中配置maven插件
1.统一版本
Window--Preferences--Maven--Installations--Add--选择--finish--Apply
2.让eclipse知道本地仓库在哪里
(1)Window--Preferences--Maven--User Settings--User Settings--
xxxxxxx..apache-maven-3.3.9\conf\settings.xml
(2) ..... Local Repository,选择本地仓库----OK
3.构建索引
使用maven整合web项目(servlet):
创建好maven-web项目报错:
1、web.xml没有:添加一个
2、jdk版本1.5 : pom.xml中配置版本为1.7
然后项目上右键--Maven--Update project..
在公司把项目档下来之后,第一件事就是更新项目.(让eclipse上的插件跟本地仓库建立对应关系)
使用maven整合struts2项目
项目上右键--java EE tools--generate deployment descriptor stub,来生成web.xml文件
Tomcat7插件
Tomcat:run命令就使用tomcat6,如果让tomcat7的插件生效,需要使用命令:tomcat7:run
重启,需要先在控制台点中止,然后再次启动
这种运行有个弊端,不利于debug调试,所以建议用Tomcat的servers来运行,而不是用maven的
tomcat插件来直接运行.
运行一次tomcat:run,修改代码后,再次运行tomcat:run之前,要在Console控制台点停止,清除所有
在运行的程序后,再开始运行.否则会报端口冲突的错误.
alt+shift+a
db.properties中:
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/maven
jdbc.user=root
jdbc.password=root
user不要写成username,否则如果项目部署在Windows环境下,在读取applicationContext.xml文件时,通过
OGNL表达式取值时,${username}会把计算机的名字取出来.
所有的key,前面要加个jdbc.的前缀,否则如果项目部署在Linux环境下,${user}取值会出问题.
使用maven对项目拆分,聚合:
父工程:Packaging:pom
子模块:Packaging:
ssh-dao:jar
ssh-service:jar
ssh-web:war
@ContextConfiguration("classpath:spring/applicationContext-*.xml")
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
将父工程打包到本地仓库
pom.xml中添加项目依赖或者安装到本地仓库的jar包依赖
ssh-web模块:
web.xml中:
监听器:
<!-- 指定spring配置文件路径 -->
<param-value>classpath*:spring/applicationContext-*.xml</param-value>
Maven注意事项的更多相关文章
- Eclipse环境下使用Maven注意事项
在最新版本的Eclipse Java EE IDE for Web Developers中已经包含Maven 2 在File,New中可以看到Maven Project,新建, 按照步骤一路下来,要求 ...
- maven实现tomcat热部署
1.使用maven+tomcat事项热部署 1.1修改tomcat-user.xml <role rolename="manager-gui"/> <!--man ...
- Maven初步
Maven初入 maven 是一个项目管理工具, 它包含了一个 项目对象模型(Project Object Model POM), 一组标准集合, 一个项目生命周期(Project Lifecycle ...
- idea本地Maven仓库不能下载依赖jar包的解决方案
1.确认maven是否正正常安装,是否配置了环境变量,可以通过命令 mvn -version 看是否显示maven的版本信息. 2.检查maven的setting.xml配置文件中本地仓库位置配置是否 ...
- maven nexus deploy方式以及相关注意事项
以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用.总的来说,jar部署到nexus上有两种方式: 1.直接登录nexus控制台进行上传,如下: 但是,某些仓库可能 ...
- Windows下安装和配置Maven的方法及注意事项
首先,从http://maven.apache.org/download.cgi网站上下载适用于当前操作系统操作格式的最新版本的maven安装包.如:apache-maven-3.2.5-bin.zi ...
- maven中的snapshot来源与注意事项
maven中的snapshot来源与注意事项 (2012-04-23 15:37:48) 转载▼ 标签: 杂谈 分类: java maven的依赖管理是基于版本管理的,在maven2之后,把版本管理细 ...
- maven nexus deploy方式以及相关注意事项(增加eclipse执行maven deploy)
以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用.总的来说,jar部署到nexus上有两种方式: 1.直接登录nexus控制台进行上传,如下: 但是,某些仓库可能 ...
- maven管理本地jar包注意事项
今天lucene中集成第三方中文分词器IKAnalyzer的时候遇到了相似的问题:lucene版本4.9.IKAnalyzer版本2012FF_hf1 直接去maven仓库下载,pom配置如下: &l ...
随机推荐
- 在vs2010中显示代码的行数
1.打开VS2010,然后"工具" → "选项" 2.在选项页面,点击"文本编辑器"→"所有语言",在显示里将[行号]选 ...
- Vijos 1007 绕钉子的长绳子
背景 平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形. 现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计. 描述 求出绳子的长度 格式 输入格式 第1行两个数:整数N(1< ...
- Linux安装SVN服务器
“svn都快淘汰了” #安装subversion yum -y install subversion #创建svn仓库基础路径 mkdir /home/svn #创建svn仓库 svnadmin cr ...
- MySQL缓存之Qcache与buffer pool对比
Q:innodb buffer pool和Qcache的缓存区别? A: 1.Qcacche缓存的是SQL语句及对应的结果集,缓存在内存,最简单的情况是SQL一直不重复,那Qcache的命令率肯定是0 ...
- 微信iOS消息拦截插件教程-Tweak HelloWorld
微信iOS消息拦截插件教程-Tweak HelloWorld 标签(空格分隔): 越狱开发教程 1.环境准备 准备一台越狱的手机,具体参照上一篇教程 搭建Theos越狱开发环境 2.开发过程 新建一个 ...
- 从零Wordpress建站经验分享,内附耗时间及成本
5月末回国,工作进入空档期. 每天上班没有任务压身,日子过得反而更加难熬. 一直自己做一个网站,却总下不定决心,总是懒得迈出第一步. 正巧朋友需要建设一个宣传用网站. 外面的公司给他报价很高. 反正我 ...
- Spark源码阅读之存储体系--存储体系概述与shuffle服务
一.概述 根据<深入理解Spark:核心思想与源码分析>一书,结合最新的spark源代码master分支进行源码阅读,对新版本的代码加上自己的一些理解,如有错误,希望指出. 1.块管理器B ...
- MyBatis的关联关系 一对一 一对多 多对多
一对一示例 一个妻子对应一个丈夫 数据库表设计时 在妻子表中添加一个丈夫主键的作为外键 1 对应的JavaBean代码虽然在数据库里只有一方配置的外键,但是这个一对一是双向的关系. Husband实体 ...
- 小哈学Python第三课-字符集编码
table.hovertable { font-family: verdana, arial, sans-serif; font-size: 11px; color: #333333; border- ...
- 关于delete使用limit的一些注意事项
在使用delete删除记录时,如果表里面存在多条相同的记录,但是此刻你只想删除一条记录,那么limit就派上了用场.但是使用limit的时候得注意: 如图,您如果想着删除第一个名字叫做张三的,如果你这 ...