为什么80%的码农都做不了架构师?>>>   

我们再做项目的时候,有很多模块是可以重复使用的,maven提供了很好的解决模块之间相互引用的方法,具体流程如下:

1.建立共用模块

2.把共用模块安装到本地maven仓库中(mvn install)

3.再引用项目中确定安装公共模块的坐标

4.完成,可以调用公共模块的方法和功能了

先说一下maven的基本命令

创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
创 建一个java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site 
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install
安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
跳过测试运行maven任务:    mvn -Dmaven.test.skip=true XXX
生成eclipse项目文件: mvn eclipse:eclipse
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。
常用命令
1. 创建Maven的普通java项目: 
   mvn archetype:create 
   -DgroupId=packageName 
   -DartifactId=projectName  
2. 创建Maven的Web项目:   
    mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
3. 编译源代码: mvn compile 
4. 编译测试代码:mvn test-compile    
5. 运行测试:mvn test   
6. 产生site:mvn site   
7. 打包:mvn package   
8. 在本地Repository中安装jar:mvn install 
9. 清除产生的项目:mvn clean   
10. 生成eclipse项目:mvn eclipse:eclipse  
11. 生成idea项目:mvn idea:idea  
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
13. 编译测试的内容:mvn test-compile  
14. 只打jar包: mvn jar:jar  
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
      ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
16. 清除eclipse的一些系统设置:mvn eclipse:clean

17. mvn archetype:generate  这实际上就是让maven-archetype-plugin生成一个很简单的项目骨架,帮助开发者快速上手

D:\Users\Administrator\workspace\maven>mvn archetype:generate -DgroupId=com.m

DartifactId=my1 -Dversion-0.0.1-SNAPSHOT创建一个简单的java项目,按照maven目录结构

再eclipse中创建相互引用的项目

建立项目一:test

这里MavenHello就是我们要说的公共类,虽然没什么功能,呵呵代码如下:

package com.my;

public class MavenHello {

public static void  say(){

System.out.println("hello");

}

}

pom文件如图:


 这个项目的坐标就是:

<groupId>com.test</groupId>

<artifactId>test</artifactId>

<version>0.0.1-SNAPSHOT</version>

在其他项目中就引用这块就可以了

建立项目test2,图就不上了

在test2中引用test项目中的一个方法

MavenHello.say();

在test2的pom文件中关联上对test的依赖

在eclipse中test2已经可以引用test的方法了

如果要用命令行试试,必须先到test目录下(就是pom文件那个目录)运行maven install命令将test安装到本地的maven仓库中,我运行了截图如下:

进入我的maven仓库就可以看到我刚才安装的包:

我们可以到test2下运行maven compile,项目是可以编译通过的,这样项目关联已经完成了

转载于:https://my.oschina.net/zaxb/blog/1544129

maven学习笔记第一节一-maven install 模块之间相互引用相关推荐

  1. Maven学习笔记,动力节点maven教程随堂笔记(史上最全)

    Maven笔记 这篇笔记的学习视频来自b站动力节点 https://www.bilibili.com/video/BV1dp4y1Q7Hf 笔记中的源码下载地址 动力节点maven资料 第一部分 1. ...

  2. Angular学习笔记第一节 基本概念

    1.Let do it! ####1.ng的基础概念 在学习ng之前,我们只需要掌握HTML.CSS.JS即可. 简称ng.名字不错,吊! 重要的特性 有了ng,我们就可以轻松的构建SPA应用,而且n ...

  3. CCSA学习笔记 第一节 思科安全解决方案综述

    CCSA学习笔记 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 1.能够对思科安全的网络安全解决方案有初步认识 2 ...

  4. Maven学习笔记:什么是Maven什么是构建

    自动化构建工具--maven 因:开发中存在的问题 一个项目=一个工程===>如果一个模块=一个工程就好了(如果每个工程中存在相同jar包,冗余) 需要的jar包及jar包依赖的相关jar包需要 ...

  5. TensorFlow学习笔记--第一节 hello TensorFlow

    目录 代码块 语句解释 代码块 # -*- coding:utf-8 -*- import tensorflow as tf #创建想要的计算图 # 只有一个节点,tensor 常量消息由字符串构成 ...

  6. maven学习笔记——尚硅谷

    文章目录 maven学习笔记--尚硅谷 第一章 Maven概述 第一节 为什么要学习Maven 1.Maven 作为依赖管理工具 1.1 jar 包的规模 1.2 jar 包的来源 1.3 jar 包 ...

  7. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

    maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...

  8. Maven学习笔记__上篇

    Maven学习笔记__上篇 本文档基于 尚硅谷视频教程 整理,仅用于个人学习/交流使用. 视频链接:https://www.bilibili.com/video/BV1TW411g7hP 官方资料:链 ...

  9. maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程

    前面maven 学习笔记(二)已经说过了怎样通过插件创建一个简单的工程,有了前面的基础,创建一个较复杂的工程就容易了很多.同样是通过已经有了插件,同样如果插件系统中并未存在,还是需要通过Add Arc ...

最新文章

  1. Android实现ListView异步加载图片
  2. Arduino可穿戴教程ArduinoIDE新建编辑源文件
  3. 伯明翰大学计算机科学网络安全硕士,2020年伯明翰大学网络安全硕士专业硕士申请条件-学费-世界排名...
  4. Ubuntu 11.04上搭建Android开发环境
  5. Common Lisp 初学者快速入门指导
  6. 20200207_Dontla_MBTI第二步基本分析报告((ISTJ))
  7. Visual Studio 2019 16.1 使用 .NET Core 3.0
  8. 高等数学下-赵立军-北京大学出版社-题解-练习12.4
  9. 即时通讯软件 的无锁数组操作
  10. 编译fastdfs报错Makefile:59: recipe for target 'fdfs_monitor' failed
  11. NAB展会新闻:微软和媒体娱乐合作伙伴在Windows Azure平台上发展数字供应链解决方案...
  12. Python编程——函数
  13. 计算机功能性英语作文,2017考研英语作文:10个功能性“仿写”句型
  14. java spark命令行执行参数
  15. QT D:\Program Files (x86)\SogouInput\Components\
  16. 车载视频监控基于JTT808/1078管理平台商业开源
  17. 程序员需要知道的地理知识
  18. 积极心理学第十九课 如何让爱情天长地久
  19. 20210714学习手记 CANopen 协议
  20. 迁移数据到历史表SQL

热门文章

  1. puppetmaster 、agent 证书管理相关
  2. Linux用户(user)和用户组(group)的日常管理与操作教程概述
  3. xcode快捷键大全(转)
  4. webpack4.x中使用postcss-loader、autoprefixer给CSS属性自动添加前缀
  5. Nexus1000v部署
  6. SVN服务器使用(一)
  7. 通过经典题目来理解多种闭包实现方式
  8. 第8天 NSD NETWOEK
  9. .Net ViewState的实现(转载)
  10. spring集合quartz获取所有定时任务的下次时间