linux查找maven安装目录_maven安装目录介绍

准备环境

直接拉取使用现成的镜像吧:

docker pull virhuiai/maven_quick:version-aliyun

运行容器

进入一个目录:

cd /Volumes/RamDisk

运行maven并将当前目录映射到容器的工作目录,后面从容器里拷贝文件到宿主就可以不用docker cp命令了:

docker run -it --rm --name maven_quick_tmp_run -v "$HOME/.m2/repository":/root/.m2/repository -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven virhuiai/maven_quick:version-aliyun  /bin/sh

现在找下安装目录,知道maven有个settings.xml文件,就通过它来找到目录吧:

# updatedb # locate settings.xml/usr/share/maven/conf/settings.xml

找到了,目录是/usr/share/maven/(镜像安装有mlocate工具,有兴趣可以看看这个镜像的配置说明):

cd /usr/share/maven/

下面看一下该目录的结构和内容。

maven安装目录的结构和内容

# ls -altotal 60drwxr-xr-x 1 root root  4096 Jan 13 07:04 .drwxr-xr-x 1 root root  4096 Feb  1 06:55 ..-rw-r--r-- 1 root root 17504 Nov  7  2019 LICENSE-rw-r--r-- 1 root root  5141 Nov  7  2019 NOTICE-rw-r--r-- 1 root root  2612 Nov  7  2019 README.txtdrwxr-xr-x 2 root root  4096 Jan 13 07:04 bindrwxr-xr-x 2 root root  4096 Jan 13 07:04 bootdrwxr-xr-x 1 root root  4096 Feb  1 06:55 confdrwxr-xr-x 4 root root  4096 Jan 13 07:04 libdrwxr-xr-x 1 root root  4096 Jan 13 07:04 ref

有四个目录

drwxr-xr-x 2 root root  4096 Jan 13 07:04 bindrwxr-xr-x 2 root root  4096 Jan 13 07:04 bootdrwxr-xr-x 1 root root  4096 Feb  1 06:55 confdrwxr-xr-x 4 root root  4096 Jan 13 07:04 libdrwxr-xr-x 1 root root  4096 Jan 13 07:04 ref

bin目录

# tree -N ./bin./bin├── m2.conf├── mvn├── mvn.cmd├── mvnDebug├── mvnDebug.cmd└── mvnyjp

该目录包含了mvn运行的脚本,带cmd的是基于Windows平台的bat脚本,不带的是基于UNIX平台的Shell脚本。
这些脚本用来配置Java命令,准备classpath和相关的Java系统属性,然后执行Java命令。
带Debug的文件,只是多了条MAVEN_DEBUG_OPTS配置:

# cat mvnDebug
05d3048a811f47bf5ab9dee6b6010355.png

其作用就是在运行Maven时开启debug,以便调试Maven本身。

m2.conf是classworlds的配置文件:

cb12162db1d2f331d52d16a21f2d7239.png

boot目录

# tree -N bootboot├── plexus-classworlds-2.6.0.jar└── plexus-classworlds.license0 directories, 2 files

plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库。

需要的话可以看看这边,一般用户不必太关心这个文件https://github.com/codehaus-plexus/plexus-classworldsorg.codehaus.plexus    plexus-classworlds    2.6.0

conf目录

# tree confconf├── logging│   └── simplelogger.properties├── settings.xml└── toolchains.xml

settings.xml非常重要,控制Maven的行为。
这儿的配置是全局的,最好是复制为~/.m2/settings.xml,在用户范围定制Maven的行为。

lib目录

292ef32505bb55121290dfc8c1a815d6.png


lib目录包含了所有Maven运行时需要的Java类库。
其中,maven-model-builder-3.6.3.jar中有超级POM, 我们可以解压出来看看:

cp /usr/share/maven/lib/maven-model-builder-3.6.3.jar /usr/src/mymaven

在宿主机解压后,可以在maven-model-builder-3.6.3/org/apache/maven/model目录中找到pom.xml,即超级POM。

55fb49eb013ad7fe1e7096414bd11eda.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值