maven无法导入包问题处理

简介: 习惯使用个人电脑开发,在公司也使用自己的电脑,而公司使用的开发环境一般为公司内网才能使用,比如maven仓库,npm仓库。在家里开发的时候就出现一些环境不一致的问题。

习惯使用个人电脑开发,在公司也使用自己的电脑,而公司使用的开发环境一般为公司内网才能使用,比如maven仓库,npm仓库。在家里开发的时候就出现一些环境不一致的问题。

如下:


img_46191f625e6f9f2dade0e376ef8ba618.png
image.png

问题

想研究下Spring的内容呢,新建项目后发现包都导入不了。然后项目无法运行

方案

情况一

替换setting.xml,一般在公司,公司会让使用内部的settings.xml,在Idea中可以替换掉为原本自己备份的settings.xml

注意: 有时候公司的settings.xml指向的repository目录与默认的目录不一样,如果Local repository指向的不是自己的本地源,也要修改下

img_260c2b14ffd58f190feea76e0b58b830.png
image.png

情况二

一般修改下setting.xml是足够的,不过有时候可能出现一些其他问题,比如maven指向的源地址需要认证啊,在公司下载的库出现问题。

比如执行maven clean的时候,出现这样

img_6336508850fcbd2104c6ce56df301fed.png
image.png

打开目录发现,这是因为之前的settings.xml不对,留下的脏数据


img_96a26e3b725c2f916774a4e17c588251.png
image.png

删除源下对应库的目录即可:


img_60fef061eb602f75df476c8ffa209147.png
image.png

重新导入

setting.xml

setting.xml主要用来配置maven的执行方式,像pom.xml但是更像是全局的配置,对所有的项目都起作用。一般用来配置:

  • 本地源的位置
  • 服务器源位置
  • 认证信息

有两个位置:

  • ${maven.home}/conf/settings.xml 全局maven配置
  • ${user.home}/.m2/settings.xml 用户maven配置

如果两个配置文件都存在,合并配置信息,同时以用户的配置文件为主。

基本结构

settings.xml的基本结构如下:

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository/>
      <interactiveMode/>
      <usePluginRegistry/>
      <offline/>
      <pluginGroups/>
      <servers/>
      <mirrors/>
      <proxies/>
      <profiles/>
      <activeProfiles/>
    </settings>
  • localRepository: 本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository

  • interactiveMode: Maven是否需要和用户交互以获得输入。如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。

  • usePluginRegistry: Maven是否需要使用plugin-registry.xml文件来管理插件版本。如果设置为true,则在{user.home}/.m2下需要有一个plugin-registry.xml来对plugin的版本进行管理,默认为false。

  • offline:表示Maven是否需要在离线模式下运行。如果构建系统需要在离线模式下运行,则为true,默认为false。如果电脑没网了,那么这个配置就很有用。

  • servers: pom.xml的 repositories 和 distributionManagement可以配置下载和上传源。但是有时候这些操作需要用户名和密码,而用户密码,不应该存在项目的pom.xml文件中,这就是servers需要配置的东西。

// 通过字面意思比较容易理解,不多说了
<servers>
    <server>
      <id>server001</id>
      <username>my_login</username>
      <password>my_password</password>
      <privateKey>${user.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  • profiles: 这个相比比pom.xml的配置简单了一些,内部可以配置activation, repositories, pluginRepositories 和 properties标签,理解为profile的个性化配置,单独定义并不会立即生效,需要通过满足条件来激活。 repositories 用来定义不同的profile使用什么类型的源,也很有用。

注意: 经常用到的配置一般是localRepository,servers,profiles, activeProfiles.

更多内容可以参考:Settings Reference

最后

做demo的时候一点小意外,不过maven作为常用的工程管理工具,熟悉其内部对我们还是很有帮助的。

参考

相关文章
|
8月前
|
Java 测试技术 Maven
maven 打jar包:mvn clean package
maven 打jar包:mvn clean package
100 7
|
12天前
|
缓存 Java Maven
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法!在处理Maven项目问题时,首先检查Maven配置是否正确。接着通过“File--Invalidata Caches”清除IDEA缓存并重启。使用Maven命令`mvn dependency:purge-local-repository`和`mvn dependency:resolve`清除本地依赖缓存。最后,在Terminal中输入`mvn clean install`完成构建。
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
|
5月前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
2月前
|
Java Maven
maven打瘦包,且只打入部分想打入的依赖瘦包
maven打瘦包,且只打入部分想打入的依赖瘦包 设计 工程结构分析 环境管理 城市资源 安全工程 工程管理
63 10
|
8月前
|
Java Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(一)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
74 0
|
6月前
|
Java Maven
idea导入maven项目结构不全
idea导入maven项目结构不全
198 6
|
6月前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
7月前
|
Java 关系型数据库 Maven
SpringBootWebProject学习4、maven打war包
SpringBootWebProject学习4、maven打war包
59 1
|
6月前
|
Java Maven
第一次导入项目,从gitee拉取的代码无法拉取怎么解决,idea如何导入项目,如何跑拉取的项目,如何使用Maven导入项目,如何回到idea首页,如何导入第一次的项目,拉取的代码出现了橘黄色图标,图片
第一次导入项目,从gitee拉取的代码无法拉取怎么解决,idea如何导入项目,如何跑拉取的项目,如何使用Maven导入项目,如何回到idea首页,如何导入第一次的项目,拉取的代码出现了橘黄色图标,图片
|
7月前
|
Java 关系型数据库 MySQL
Maven如何快捷导入jar包
Maven如何快捷导入jar包

推荐镜像

更多