JAVA核心技术:Maven

前言

课程在中国大学MOOC上有的,关键词Java核心技术(进阶)。

你们可能对这门课的赚钱能力没有一个认识,但你们现在每写一行代码就能赚一块钱。 ——cly

知识点

1.构建工具

怎样导入第三方库以便我们调用现成的方法?(例如调用已有的第三方库 A p a c h e C o m m o n s M a t h ApacheCommons Math ApacheCommonsMath中有现成函数API – o r g . a p a c h e . c o m m o n s . m a t h 3. u t i l . A r i t h m e t i c U t i l s –org.apache.commons.math3.util. ArithmeticUtils org.apache.commons.math3.util.ArithmeticUtils求两个整数的最大公约数 )

传统方法

步骤

1. 搜索引擎搜索Apache Commons Math 在这里插入图片描述
2. 找到官网,确定相应版本和下载路径在这里插入图片描述
3. 下载到本地,找到里面的jar文件在这里插入图片描述
4. 新建Java项目
5. 将jar文件添加到Java Build Path –右键项目,Properties->Libraries标签页->Add External JARs, 添加 在这里插入图片描述 6. 开始编码、测试在这里插入图片描述

优缺点

  • 优点
    1. 第三方库很强大,要学会在巨人肩膀上工作
  • 缺点
    1. 搜索、确定版本、下载jar包,工作量大且不易
    2. 需要手动把jar包添加到项目build path
    3. 代码拷贝到别人的机器,需要同样的配置路径

是否存在一种自动下载、管理jar包又能配置build path的构建工具呢?

2.Maven基础概念和实战

Maven基础概念

  • Maven开发流程
    1. 新建Maven项目
    2. 在中央仓库查找第三方jar的依赖文本
    3. 拷贝依赖文本至项目的pom.xml
    4. 执行maven build,编译/构建整个项目
  • Maven是一个软件,http://maven.apache.org/下载
  • Maven也有一个中心仓库,https://mvnrepository.com/包含很多第三方软件。可以有很多第三方的Maven仓库。
  • Maven是一个构建工具,自动下载中心仓库的jar文件,存在本地进行管理,编译、测试、运行、和打包发布Java项目。
  • Maven编译工作流程
    在这里插入图片描述
  • POM( Project Object Model )
    • XML格式
    • 包含了项目信息、依赖信息、构建信息
    • 构件信息(artifact) –groupId:组织 –artifactId:产品名称 –version:版本在这里插入图片描述
  • Maven项目的目录结构

在这里插入图片描述

创建Maven项目

直接创建
  1. 新建一个项目在这里插入图片描述
  2. 勾选第一个选项可以省去一些配置步骤,更加快捷;勾选第二个选项直接在工作文件夹目录下创建项目。
    在这里插入图片描述
  3. 设置信息
    groupId:组织名
    artifactId:作品(项目)名
    Name:别名(optional)
    Description: 描述(optional)

在这里插入图片描述

间接创建

创建普通Java Project,再转化为Maven项目,修改pom.xml
在这里插入图片描述

导入第三方jar包

  1. 在mvn中央仓库(mvnrepository.com)中搜索Commons Math,并选择版本
    在这里插入图片描述

  2. 将Apache Commons Math依赖文本加到项目pom.xml中
    在这里插入图片描述

Maven编译

  1. Maven编译和运行:右键项目->Run as ->Maven Build
    在这里插入图片描述
  2. 配置Maven build的内容(第一次配置,后续不用配置)
    在这里插入图片描述
  3. 编译成功,控制台输出Build Success
    在这里插入图片描述

问题

可能会有一些奇怪的问题,不过谷歌一下基本都能解决

  1. 不再支持源选项 5。请使用 7 或更高版本。
    在这里插入图片描述
    解决方法:
    在pom.xml文件里加一段
<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
		<java.version>1.8</java.version>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>
  1. 下载依赖包速度慢
    在IDE下载jar时,无法对IDE做任何动作,只能大眼对小眼。eclipse下载速度极慢,一个14kb的文件往往需要想下载好几分钟。一个项目下来,无数个jar包,不知道得浪费多长时间,下载jar包速度慢究其原因就是因为很多资源都是国外的,我们下载一个小文件几乎就跨越了一个太平洋那么远。

    解决办法:
    https://www.jianshu.com/p/7805fe4e652e

练习

给定一个汉字句子,可以输出句子的读音。可以借鉴第三方库:pinyin4j 。这个是网址:https://mvnrepository.com/artifact/com.belerweb/pinyin4j 。要求工程是Maven项目。需要Maven编译成功的截图、程序运行的截图、和代码截图。

//Trans.java
import net.sourceforge.pinyin4j.PinyinHelper;

public class Trans {
	public static String TranstoPinyin(String str) {
		String res="";
		for(int i=0;i<str.length();i++) {
			String[] Temp=new String[10];
			Temp=PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));
			res+=Temp[0];
		}
		return res;
	}
	
	public static void main(String[] args) {
		String test="这是一串中文";
		String Pinyin= TranstoPinyin(test);
		System.out.println(Pinyin);
		
	}
}
//pom.xml
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>MOOC1Maven</groupId>
	<artifactId>MOOC1Maven</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
		<java.version>1.8</java.version>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.belerweb</groupId>
			<artifactId>pinyin4j</artifactId>
			<version>2.5.1</version>
		</dependency>
	</dependencies>
</project>

在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值