黑马程序员技术交流社区

标题: 【成都校区】maven学习笔记 [打印本页]

作者: 生发危稽    时间: 2019-1-10 12:48
标题: 【成都校区】maven学习笔记
maven命令要求严格,对一些不需要空格的地方坚决不能出现空格
maven命令区分大小写

maven只是解析一些xml文档,管理声明周期与插件

安装好maven后第一次运行mvn install命令的时候,maven会从中央maven仓库下载大部分核心maven插件
插件解释:
Maven Surefire单元测试插件
Compiler 编译插件
Archetype 创建项目用到的插件
clean 清楚本工程的所有输出用到的插件
install 将本例子输出的jar发布到maven库里,默认到~/.m2/repository下


1、创建一个工程的命令:

mvn archetype:create -DgroupId=cn.cdm -DartifactId=app
该工程的groupId是cn.cdm,那么该工程的源代码文件将放在java包cn.cdm中。
artifactId是app,那么该工程的根目录名称将为app,即该项目为app ;

   进入app,即(cd E:\maven3\app) ,并执行mvn compile,然后会在该目录下发现新生成的目录target\classes,即编译后的class文件(包括它的包目录)就放在了这里。
   执行命令 mvn clean,会清除本工程的所有输出,在本例子中,就是删除了target目录。
   执行命令 mvn install,会把本例子输出的jar发布到maven库里。如果没有调整设置的话,localRepository在~/.m2/repository,比如C:\Documents and Settings\Administrator\.m2\repository,我的机器是调整过了,所以在E:\Maven3\app\m3\repository。
  
  
2、创建一个web工程的命令:
mvn archetype:create -DgroupId=cn.cdm -DartifactId=webApp -DarchetypeArtifactId=maven-archetype-webapp
web工程与普通工程的差别是多一个属性archetypeArtifacttId,该属性的值为maven-archetype-webapp。即告诉Maven,将要创建的工程是一个Web应用工程。创建app工程时没有使用该属性值,是由于archetype默认创建的是应用程序工程。

需要到创建的webApp目录中的src\下创建
src/main/java
src/test/java
src/test/resources
在java build path 中修改四个文件class文件输出路径
            src/main/java src/java/resources 选择target/classes
            src/test/java src/test/resources 选择target/test-classes
        修改项目jdk以及compiler
        把项目转换成dynamic web--右键项目,选择project facets--配置project facets
        设置部署程序集--右键项目,选择deployment assembly,并进行相关配置

3、将maven3.0.3项目转换为eclipse项目

  进入maven的项目目录,用 mvn eclipse:eclipse生成eclipse项目;
  执行完后,生成eclipse的工程文件;
  调整eclipse的classpath变量(用于指向maven的本地库的目录),选择eclipse Window-->Preferences -->Java-->Build Path-->ClassPath Variables,增加一个M2_REPO变量,选择maven的本地库的目录(E:\Maven3\app\m3\repository).
  工程导入:File-->Import-->Existing Projects into Workspace-->Select root directory,完成导入
  或者 在eclipse的 Project Expor中 右键 Import-->Maven-->Existing Maven Projects-->Select root Directory,完成导入(我都是用这个) ;
  


maven插件:http://download.eclipse.org/technology/m2e/releases
jetty插件:http://www.webtide.com/eclipse
jetty-run插件:http://run-jetty-run.googlecode.com/svn/trunk/updatesite


错误:
MissingProjectException是因为maven找不到对应的pox.xml,一种是在pom.xml文件所在目录执行命令,一种是指定pox.xml文件的位置,比

如 mvn -f path/to/pom.xml


给eclipse添加指定maven仓库路径
window 属性 Java buildPath classpathVariables下面新建M2_REP0对应的path为/.m2/repository

在maven下添加oracle包
ojdbc14-10.2.0.4.0.jar对应的pom.xml
Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
    <groupId>com.oracle</groupId>  
    <artifactId>ojdbc14</artifactId>  
    <name>ojdbc14</name>  
    <packaging>jar</packaging>  
    <version>10.4.0.2.0</version>  
</project>  

添加到maven仓库执行的cmd命令
set local=%~dp0
mvn install:install-file -Dfile=%local%ojdbc14-10.2.0.4.0.jar -DpomFile=%local%pom.xml
可以写成bat文件执行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2