Ubuntu20.04中maven的安装与使用

maven简介

maven官网:Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型 (POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。

更多可参考资料:Maven in 5 Minutes | Maven Getting Started Guide | Maven 菜鸟教程 | Maven介绍 廖雪峰的网站 | 2021_Maven基础实战入门_B站

我目前需要的是:基于maven的Java项目目录结构

a-maven-project
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   └── resources
│   └── test
│       ├── java
│       └── resources
└── target

ubuntu20+maven+vscode

maven的安装

# ubuntu20.04中的maven3.6.3存在bug
# [ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
# 详见:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=980467
# 不要使用包管理器安装:sudo apt install maven

# 下载maven
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
tar -zxvf apache-maven-3.8.4-bin.tar.gz
rm apache-maven-3.8.4-bin.tar.gz

# 添加环境变量
export MAVEN_HOME="/home/dacao/Documents/apache-maven-3.8.4/bin"
export PATH="$PATH:$MAVEN_HOME"

# 检查配置是否成功
➜  ~ mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /home/dacao/Documents/apache-maven-3.8.4
Java version: 17.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "5.13.0-27-generic", arch: "amd64", family: "unix"

vscode编辑器插件

参考:VS Code创建Maven项目

Maven for Java插件:VS Code 的 Maven 扩展。它提供了执行 Maven 命令的快捷方式,改善了使用 Maven 的 Java 开发人员的用户体验。

留意命令行,插件本质是执行下面的命令。

mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.0-alpha-1" -DgroupId="io.github.da1234cao" -DartifactId="logback-test"

奈何无法下载内容,使用mvn -X可以得到下面内容。我们可以看到配置文件的位置。

[DEBUG] Reading global settings from /home/dacao/Documents/apache-maven-3.8.4/conf/settings.xml
[DEBUG] Reading user settings from /home/dacao/.m2/settings.xml
[DEBUG] Reading global toolchains from /home/dacao/Documents/apache-maven-3.8.4/conf/toolchains.xml
[DEBUG] Reading user toolchains from /home/dacao/.m2/toolchains.xml
[DEBUG] Using local repository at /home/dacao/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /home/dacao/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project org.apache.maven:standalone-pom:pom:1: (none)
[DEBUG] Looking up lifecycle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

经过一晚上的折腾,我也没有解决,maven+vscode的环境配置,放弃,换条路


IntelliJ IDEA

IntelliJ IDEA官网。这里我们使用snap进行安装。

sudo snap install intellij-idea-community --classic

在内部,我们创建一个maven项目。操作过程可参考视频:Logback从入门到精通

代码中需要使用logback。所以,我们在pom.xml中插入如下内容。xml的介绍可参考《Java核心卷二》第三章 XML。

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.33</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.10</version>
    </dependency>

运行输出如下。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

da1234cao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值