Maven

资源:
        maven 依赖jar包:http://mvnrepository.com/
        Apache官网maven插件:http://tomcat.apache.org/maven-plugin.html

1.maven的目录结
src
   -main
      -java
         -package
   -test
      -java
         -package
   -resources
2.maven命令
mvn   -v                  查看maven版本
          compile        编译
          test               测试
          package        打包
          clean             删除target
          install            安装 jar 包到本地仓库
其中,mvn install 命令,示例如下:
     maven01和maven02为两个工程:
   maven02中的类需要引用maven02中的类:
maven01

maven02

直接编译maven02会报错,找不到maven01中的类,所以首先打包(mvn install)maven01,将maven01打包放入本地仓库,再将maven01的坐标配置到maven02的pom中,这样,在编译maven02的时候会去本地仓库中找到maven01,编译成功!

3.自动创建目录的两种方式:
1)mvn archetype:generate  按照提示输入相应值
2)mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名
                                              -DartifactId=项目名-模块名
                                              -Dversion=版本号
                                              -Dpackage=代码所存在的包名

4.maven仓库
1)坐标:构件的唯一标识
2)仓库:管理项目的依赖
          2.1. 本地仓库:项目中依赖的jar包会存放在本地仓库,默认在C盘用户的.m2文件夹中,需在setting.xml中修改其位置,以防重装系统删除:

          2.2. 远程仓库
                  2.2.1全球中央仓库:本地仓库找不到的依赖会去全球中央仓库中找(https://repo.maven.apache.org/maven2),全球中央仓库的配置在maven 安装目录中 lib 文件夹下的 maven-model-builder.jar 中的pom-4.0.0.xml中:


                  2.2.2镜像仓库(国内):因为全球中央仓库的服务器在国外,有时候访问不了,所以需配置国内的镜像仓库(http://maven.oschina.net/content/groups/public),具体配置在 maven 安装目录下的 conf 文件夹下的 setting.xml 中:

5.eclipse 中创建 maven 工程
       1) eclipse4.0版本以上都默认安装了maven插件,无需单独下载安装。
       2) eclipse中需要做如下设置:
             jre:
            
             maven installations:
      
       3)创建maven工程如下:
             第一步:

           
               
                 
                  finish之后的项目结构:



           第二步:
                  右键工程,run-->build...,报错
  
                  为jre添加参数(注意,M2_HOME为环境变量中所配置的maven安装路径):



          finish后重新编译工程,成功!

6.生命周期
        package 命令中clean和test会自动运行
        clean 清理项目
                  pre-clean 执行清理前的工作
                  clean 清理上一次构建生成的所有文件
                  post-clean 执行清理后的文件
        default 构建项目(核心)
                  compile test package install
        site 生成项目站点
                  pre-site 在生成项目站点前要完成的工作
                  site 生成项目的站点文档
                  post-site 在生成项目站点后要完成的工作
                  site-deploy 发布生成的站点到服务器上
       
         maven本身的功能很少,其强大的功能由插件提供,如source插件(phase为阶段):


7.pom.xml解析
1)pom常用元素详解

2)依赖范围:scope
     compile:默认的范围,编译、测试、运行都有效
     provided:编译、测试时有效。比如servletAPI,因为web容器已经包含该jar包,所以在运行阶段不需要,故设置为provided
     runtime:测试、运行时有效,如jdbc API
    
test:测试时有效,如junit
     system:编译、测试时有效,但因为与本机系统相关联,所以可移植性差
     import:导入的范围,只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置

3)传递依赖:maven工程具有传递依赖的特性,比如A依赖B,B依赖C,那么在编译A的时候,A就会对C产生依赖。若想去除A对C的依赖,则使用 exclusions。

4)依赖冲突:多个依赖中有不同版本的jar
         短路优先:A->B->C-X(2.0jar)
                          A->D->X(2.4jar)
                          则下载2.4jar
         先声明优先:
依赖长度相同,哪个依赖先声明则下载对应依赖中的jar

5)聚合和继承

       5.1 聚合:批量打包(注意在聚合的pom文件中,packaging属性修改为pom)


             5.2 继承
                parent项目中,可删除src中的main和test目录,pom文件中用<dependencyManagement>管理依赖,且修改<packaging>为pom,可用<properties>定义属性,以供其他地方引用。
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.zhaoxueer</groupId>
  <artifactId>ABC-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>ABC-parent</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <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>
  </dependencyManagement>
</project>
              
            child项目中,使用<parent>引用父项目的坐标,并可以删除掉父项目中存在的jar包的version和scope,实现继承。
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.zhaoxueer</groupId>
  <artifactId>A</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>A</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <parent>
    <groupId>com.zhaoxueer</groupId>
    <artifactId>ABC-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  
  <dependencies>
   <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
  </dependencies>
</project>

注:eclipse中,项目右键maven->update,可更新项目(例如配置文件修改后);
       修改maven的jre版本:setting中加入如下配置

   <profile>
        <id>jdk-1.7</id>

        <activation>  
	   	<activeByDefault>true</activeByDefault>  
		<jdk>1.7</jdk>   
	</activation>  	
  
	<properties>  
		<maven.compiler.source>1.7</maven.compiler.source>  
	        <maven.compiler.target>1.7</maven.compiler.target>  
	        <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>  
	 </properties>  
    </profile>

    5.3 聚合继承若在同一个pom文件中,则需要在子模块中加入:<relativePath>../webHy/pom.xml</relativePath>,如在子模块webHy-login中配置如下:


8.创建maven的web工程


第一步:创建



第二步:创建的工程中缺少Servlet API,加入依赖,并且配置scope属性为provided



第三步:完善目录结构
               最初目录结构如下:




                可通过Project Explore视图中对应目录下加source folder,或者Navigator视图下对应目录下添加folder:

 or  

第四步:查看输出路径是否为class,并将工程转换为web项目



第五步:删除多余的部署目录,比如test在项目发布的时候是不需要的,故删除




第六步:配置tomcat-maven插件(apache官网有示例)

<build>
    <finalName>webDemo</finalName>
    
    <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.2</version>
          <!-- 打包时即运行tomcat -->
          <executions>
              <execution>
                  <phase>package</phase>
                  <goals>
                      <goal>run</goal>
                  </goals>
              </execution>
          </executions>
        </plugin>
    </plugins>
  </build>

第七步:打包运行clean pacakge








  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值