maven

http://pansanday.blog.163.com/blog/static/381662802012727103454743/

1、maven

1.1 安装

参考: https://www.cnblogs.com/liuhongfeng/p/5057827.html
mac:https://kuangyang.me/zai-mac-zhong-an-zhuang-maven-bing-pei-zhi-hao-eclipse-he-idea/https://www.cnblogs.com/liyihua/p/14482403.html

安装是否成功,通过执行 mvn -v 确认。

可能的问题(也适用 eclipse terminal):

  • 出现"Mac 电脑 - 解决 command not found:mvn"
    一般是jdk环境没有安装或者配置,参考:https://cloud.tencent.com/developer/article/1896299

  • 可能会遇到的问题,每次执行mvn命令都需要先执行 source ~/.bash_profile
    如果已经配置了 jdk,但是每次在终端执行 mvn 命令的时候,都必须要先执行下 source ~/.bash_profile 才能找到 mvn 命令
    这是因为当 Mac 上安装了 zsh 后,.bash_profile 文件的配置无法生效

1.2 maven库搜索

https://blog.sina.com.cn/s/blog_afe2af380102wb9z.html

2、maven eclipse插件下载安装

maven下载地址: http://maven.apache.org/download.cgi

默认STS和myeclipse都自带了maven的支持,新版的eclipse也自带maven支持。如果eclipse不带maven项目,需要先安装m2eclipse这个eclipse的插件。

eclipse的插件安装:

图片名称

在最后一步,将以下两项都选中,否则会报错,并终止安装
http://img1.ph.126.net/zPM2CdqEtarrc0NMqr9TWA==/6597339147006095041.jpg

3、maven的配置

3.1、配置maven的本地仓库(如果本地已经安装maven,跳过此步)

maven的默认本地仓库路径为:~/.m2/repository
可以修改为自己设定的目录:
1.进入maven的安装目录
2.修改..\apache-maven-3.0.5\conf\settings.xml文件,添加
D:\maven\repos

3.2、在eclipse中配置maven

安装成功后,就会多出Maven选项,在Installations中添加安装好的Maven
eclipse创建maven工程

在User Settings中配置本机的默认仓库
eclipse创建maven工程

4、创建maven web工程

http://blog.csdn.net/afgasdg/article/details/12757433
可能会出现错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories.

解决方案:
在Eclipse Maven配置中添加新的Catalog配置:
http://repo1.maven.org/maven2/archetype-catalog.xml
也可以下载到本地,然后再添加,这样比较快,eclipse联网比较慢
http://img.blog.csdn.net/20131015221959062?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWZnYXNkZw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA/dissolve/70/gravity/SouthEast

接下来在使用刚添加的catalog创建web工程
http://img.blog.csdn.net/20131015222052500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWZnYXNkZw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA/dissolve/70/gravity/SouthEast
若是第一次操作,选择maven catalog后,点击右侧的configure按钮关联到前面设置的catalog。有时archetype部分可能不会马上显示,可以多切换几下catalog等待会。

这个时候就可以看到Eclipse联网下载了:
http://img.blog.csdn.net/20131015222145812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWZnYXNkZw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA/dissolve/70/gravity/SouthEast
这个时候看一下是不是创建成功了。

5、pom文件结构

5.1 GroupID 和ArtifactID

GroupID 是项目组织唯一的标识符,ArtifactID是项目的唯一的标识符,实际对应项目的名称。ArtifactID也是打包jar的名称。
参考 https://www.cnblogs.com/panxuejun/p/6184072.html

5.2 Maven将代码及依赖打成一个Jar包的方式

使用Maven有以下几种方法可以生成能直接运行的jar包并且是打成一个jar包,方法有:

  • 方法一:使用maven-assembly-plugin插件打包
  • 方法二:使用maven-shade-plugin插件打包
  • 使用maven-jar-plugin和maven-dependency-plugin插件打包
    以上配置都在pom.xml完成
    参考 https://www.cnblogs.com/zhangwuji/p/10040834.html

6、maven打包

两种方式,使用eclipse或者maven命令

6.1 maven 命令
  • 打包:mvn package

  • 编译:mvn compile

  • 清空:mvn clean(清除编译后目录,默认是target目录)

  • 运行测试:mvn test

  • 安装jar包到本地仓库中:mvn install

  • 跳过测试:mvn xxx -DskipTests

  • 过单元测试: mvn clean package -Dmaven.test.skip=true

  • 常用clean&install:mvn clean package install 将maven工程打包到本地maven库 (cmd 到工程的pom.xml目录下,直接运行命令)

6.2 eclipse打包
  • 方法1(推荐)选中工程目录或者内部的pom文件,打开 terminal,在工作台输入相关命令:
    mvn clean package install
图片名称
  • 方法2,利用maven 能力,选择目录或者pom后,直接点击 run as,先maven clean,然后maven build

参考:https://blog.sina.com.cn/s/blog_afe2af380102wb9z.html

7. 问题记录

7.1 The POM for com.sun:tools:jar:1.8.0 is missing

https://www.cnblogs.com/gmhappy/p/13457023.html

附:查看JDK版本信息用java -version,这个是各平台都通用的命令。但查看jdk的安装目录就不一样了,Mac下要用/usr/libexec/java_home -V

7.2 No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

主要是未配置jdk的原因:
1、在eclipse的菜单中,进入 Window > Preferences > Java > Installed JREs > Execution Environments,选择JavaSE-1.7及以上版本, 在右侧选择jdk.
2、然后在maven菜单中使用 “update project ...”.

图片名称
7.3 eclispe 出现 " command not found: mvn"

使用 "source ~/.bash_profile" 执行下即可

posted @   chease  阅读(147)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-10-09 tensorflow获取shape
点击右上角即可分享
微信分享提示