if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
// Read the response body.
byte[] responseBody = method.getResponseBody();
File file = new File(“C:\Users\ZHENG\Desktop\tuo.png”);
FileOutputStream fos = new FileOutputStream(file);
fos.write(responseBody);
fos.close();
// Deal with the response.
// Use caution: ensure correct character encoding and is not binary data
System.out.println(new String(responseBody));
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
} finally {
// Release the connection.
method.releaseConnection();
}
}
}
1、maven到jar包仓库寻找jar
(1)优先找本地的仓库当中的jar
(2)本地仓库找不到,侧从私服上查找,找到后下载到本地仓库
(3)私服上找不到,侧从中央仓库查找,找到后下载到私服,最后下载到本地。
最终maven都会把jar下载到本地仓库当中,maven工程再引用本地仓库的jar包
2、一键构建
什么是构建?
只指的是项目从编译–测试–运行–打包----安装整个过程都交给maven进行管理,这个过程称为构建。
maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解一下:
1、Maven 仓库
Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。
运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
2、配置本地仓库
(1)创建仓库文件:文件名称为repository
。
(2)修改配置文件
这里的路径是上面创建仓库的路径
3、中央仓库
Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。
中央仓库的关键概念:
这个仓库由 Maven 社区管理。
不需要配置。
需要通过网络才能访问。
要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。
4、远程仓库
如果 Maven
在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven
提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
举例说明,使用下面的 pom.xml
,Maven 将从远程仓库中下载该 pom.xml
中声明的所依赖的(在中央仓库中获取不到的)文件。
5、私服:私人搭建的服务器。一般在企业内部的局域网中使用
6、最终maven都会把jar下载到本地仓库,maven工程再引用本地仓库的jar包。
maven常用命令
(一) maven常用命令:
1.mvn clean
清空产生的项目(target里)
2.mvn compile
编译源代码
切换到对应Java项目的目录下
3.mvn install
在本地repository中安装jar(包含mvn compile,mvn package
,然后上传到本地仓库)
生成对应的jar文件
4.mvn deploy
上传到私服(包含mvn install
,然后,上传到私服)
(二)把pom
文件中配置的依赖jar包打进来,打成一个包:要用maven-assembly-plugin
这个插件,在pom
文件加如下配置
5.mvn package
打包
生成jar
将打包好的jar放置到本地仓库
6.mvn test
运行测试
在target
test-classes
7.mvn site
产生site
8.mvn test-compile
编译测试代码
9.mvn -Dtest package
只打包不测试
10.mvn jar:jar
只打jar包
11.mvn test -skipping compile -skipping test-compile
只测试而不编译,也不测试编译
12.mvn deploy
13.mvn source.jar
源码打包
1、Maven有【三套】【相互独立】的生命周期
Maven有三套独立的生命周期,不了解的话很容易将Maven的生命周期看作一个整体。
(1)清理生命周期(Clean Lifecycle):在进行真正的构建之前进行一些清理工作。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
搜集费时费力,能看到此处的都是真爱!
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
,整理的文件如下图一览无余!
[外链图片转存中…(img-nkqTYorD-1712254231531)]
搜集费时费力,能看到此处的都是真爱!
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算