惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Heimdal Security Blog
P
Privacy International News Feed
S
Schneier on Security
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
P
Privacy & Cybersecurity Law Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
aimingoo的专栏
aimingoo的专栏
Simon Willison's Weblog
Simon Willison's Weblog
S
Securelist
Help Net Security
Help Net Security
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Security Archives - TechRepublic
Security Archives - TechRepublic
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
雷峰网
雷峰网
博客园 - 司徒正美
V
V2EX
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
N
News | PayPal Newsroom
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
U
Unit 42
C
Cybersecurity and Infrastructure Security Agency CISA
P
Palo Alto Networks Blog
G
Google Developers Blog
T
Threat Research - Cisco Blogs
博客园 - Franky
I
InfoQ
D
DataBreaches.Net
爱范儿
爱范儿
Y
Y Combinator Blog
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

问题库系列 on 打工人日志

k8s master 节点 Unauthorized kindle 邮件发送失败,错误代码E999 SELinux 问题:导致端口无法创建,无法访问 linux服务器进程打开文件过多导致服务异常 解决Elasticsearch索引只读(read-only) Linux 系统收包流程以及内核参数优化 Vue3 + vite + nginx项目部署后404问题 使用scrapy-redis实现增量爬取 Chrome浏览器启动参数大全(命令行参数) Jenkins 编译Android apk 流水线 Nexus3 使用和部署 githubAction set-output弃用错误 k8s CNI 问题 连接认证失效 k8s.gcr.io国内无法连接解决方法 K8S 问题排查:cgroup 内存泄露问题 docker 问题处理 shell 脚本(1) Nodejs 安装编译 ruoyi-cloud docker部署 安装 docker 出现 ERROR: Unsupported distribution 'ol' 问题
Maven 安装编译
2022-03-03 · via 问题库系列 on 打工人日志

Maven 安装编译

Maven 就是专门为 Java 项目打造的管理和构建工具,它的主要功能有:

  • 提供了一套标准化的项目结构;
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……);
  • 提供了一套依赖管理机制。

默认结构:

 1a-maven-project
 2├── pom.xml
 3├── src
 4│   ├── main
 5│   │   ├── java
 6│   │   └── resources
 7│   └── test
 8│       ├── java
 9│       └── resources
10└── target

项目的根目录a-maven-project是项目名,
它有一个项目描述文件pom.xml
存放Java源码的目录是src/main/java
存放资源文件的目录是src/main/resources
存放测试源码的目录是src/test/java
存放测试资源的目录是src/test/resources
最后,所有编译、打包生成的文件都放在target目录里。
这些就是一个 Maven 项目的标准目录结构。

pom.xml 文件:

 1<project ...>
 2	<modelVersion>4.0.0</modelVersion>
 3	<groupId>com.itranswarp.learnjava</groupId>
 4	<artifactId>hello</artifactId>
 5	<version>1.0</version>
 6	<packaging>jar</packaging>
 7	<properties>
 8        ...
 9	</properties>
10	<dependencies>
11        <dependency>
12            <groupId>commons-logging</groupId>
13            <artifactId>commons-logging</artifactId>
14            <version>1.2</version>
15        </dependency>
16	</dependencies>
17</project>

groupId类似于 Java 的包名,通常是公司或组织名称,
artifactId类似于 Java 的类名,通常是项目名称,
version,一个 Maven 工程就是由groupId,artifactId和version作为唯一标识。
我们在引用其他第三方库的时候,也是通过这 3 个变量确定。

依赖commons-logging

1<dependency>
2    <groupId>commons-logging</groupId>
3    <artifactId>commons-logging</artifactId>
4    <version>1.2</version>
5</dependency>

使用<dependency>声明一个依赖后,Maven 就会自动下载这个依赖包并把它放到classpath中。

安装 Maven