java软件工程师面试题目,Eclipse的Maven快速入门,十年开发经验Java架构师

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();

}

}

}

在这里插入图片描述

二、Maven的优点


1、maven到jar包仓库寻找jar
(1)优先找本地的仓库当中的jar
(2)本地仓库找不到,侧从私服上查找,找到后下载到本地仓库
(3)私服上找不到,侧从中央仓库查找,找到后下载到私服,最后下载到本地。

最终maven都会把jar下载到本地仓库当中,maven工程再引用本地仓库的jar包

在这里插入图片描述

2、一键构建

什么是构建?

只指的是项目从编译–测试–运行–打包----安装整个过程都交给maven进行管理,这个过程称为构建。

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的常用命令


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 源码打包

六、Maven的生命周期


1、Maven有【三套】【相互独立】的生命周期

Maven有三套独立的生命周期,不了解的话很容易将Maven的生命周期看作一个整体。

(1)清理生命周期(Clean Lifecycle):在进行真正的构建之前进行一些清理工作。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

image

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

image

搜集费时费力,能看到此处的都是真爱!

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

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、安卓逆向、云计算

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值