1    maven 安装

conf文件夹下setting.xml文件

 1  localRepository标签

此标签用于存储maven本地仓库的路径,默认路径在C:\Users\weijingli(此为当前电脑登录用户)文件夹下.

2  proxies标签

存放是否使用中央仓库标签

3  mirrors标签

存放镜像,访问外部镜像的网址。有中央仓库和私服之分。

 

 

1.2    maven网上查找依赖

访问以下网址即可  

http://www.mvnrepository.com/

 

 

1.3    maven官网下载历史版本

maven官网==》download==》previous release ==》archives==》选择相应版本即可

 

 

2    maven idea配置

2.1    创建maven项目

file==》new==》project==》maven==》next==》选择groupid和artifactid

(项目名,项目名.模块名如:com.imooc.Maven  Maven-data)==》next==》Finish即可

 

 

2.2    普通项目转maven 

右键工程名--》Add Framework Support--》选择maven--》OK--》输入相应坐标即可,完善pom.xml.

右键pom.xml--》maven--》reimport--》导入相关依赖

 

 

2.3    idea 引入依赖报错解决方案

idea关闭,删除本地仓库,打开idea重新引入依赖(run application 这时已经是OK,只是dependencies可能飘红:file-->invalidate caches即可)

 

2.4    idea如何自动下载源码和文档

File => Setting => Build, Execution, Deployment => Build Tools => Maven => Importing => Automatically download

勾选 Sources 和 Documentation

 

2.5    右键pom,没有maven选项

原因是右键pom.xml,-->maven-->remove projects

解决方法,右键add as mavenproject

 

2.6    maven项目查看jar包依赖树

terminal窗口->mvn dependency:tree

将依赖树copy出来查看即可

 

 

3    maven eclipse配置

3.1    eclipse如何重新加载pom.xml

右键项目==>maven==>update project configration==>确定

如果还是不行,那么将jar包,放到本地路径下吧

 

 

3.2    eclipse误删target文件夹

1.进入本地仓库的repository\org\apache\maven\plugins文件下

2.删除所有plugin

3.重启eclipse

4.重新clean 、install

 

 

 

3.3    eclipse  修改maven默认仓库路径

1    下载安装maven

2    配置maven相关环境变量

3    eclipse==》windows==》preference==》maven==》installations==》选择本地安装的路径==》apply==》Ok

即可

 

 

3.4    eclipse和maven关联

windows==》preference==》User Settings    选取已经安装的maven包

windows==》preference==》installations   选取已经安装的maven setting.xml文件

 

4    maven STS配置

4.1    支持下载源码及文档

打开开发STS(或eclipse)工具,在菜单栏选择
window –preferences – maven

 

 
勾选 下载源码 和 javadoc文档 ,自动关联

4.2    配置本地 maven 环境

打开 maven - installations ,点击对窗口 add 按钮



配置maven插件安装路径和名称


点击finish之后,再勾选配置maven插件


4.3    配置 settings.xml 位置,加载到本地仓库

点击 User Settings,将maven的核心配置文件setting.xml的磁盘路径加载到工具中

 

4.4    设置本地仓库的索引,才能使用仓库中下载的jar.

选择菜单栏Window –showView –other - maven - maven repository 打开 maven 仓库管理视图

 
重建本地仓库索引

 


 

4.5    如何重新加载pom文件生成在本地仓库生成api jar包

c  上述操作完成后 右键service子项目,maven ->update project ->选中service子项目,点击ok,进行pom文件依赖的jar包更新

d  右键父项目,run as maven install,注意:这个方法生成了api jar包,解决了昨天一直生成不了apijar包的问题

 

 

参考:

https://blog.csdn.net/yqj234/article/details/104719318/

 

N    maven 开发常见问题

N.1    maven部 报错 Pointcut is not well-formed: expecting 'name pattern' at character position

错误原因:配置aop报错:原因是配置切点表达式的时候报错了,红色标大字体部分,必须有空格

<aop:config>
    <aop:aspect  id="moocAspectAOP" ref="moocAspect">
<!--     声明切入点:从哪里开始执行 -->
<!--     执行com.imooc.aop.schema.advice.biz包下的所有Biz结尾的java类中的所有方法时 -->
        <aop:pointcut expression="execution(* com.imooc.aop.schema.advice.biz.*Biz.*(..))" id="moocPointCut"/>
        <aop:before method="before" pointcut-ref="moocPointCut"/>
    </aop:aspect>
</aop:config>

 

 

 

 

N.2    maven部 解惑  No bean named 'beanScope' available

问题:

执行Junit测试的时候,报错如下:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'beanScope' available

 

分析:

经过查询,

http://www.cnblogs.com/miaoying/p/5793490.html 

这个兄弟和我犯的错误一样,错误原因是,xml配置文件没有加载。

但是我查看我的target文件下的xml都已经加载了呀,真tmd见了鬼了。

 

解决:

因为xml直接放在src路径下,xml文件多了显得结构臃肿,所以,我把配置的xml全部放到和main平级的resource目录下。

可能因为这个原因才不加载吧。

1  所以更改pom.xml文件,修改其xml配置文件加载路径(红色字体部分)

<!--     加载xml -->
    <resources>
      <resource>
         <directory>src/resource/</directory>
         <includes>
            <include>**/*.xml</include>
         </includes>
      </resource>
   </resources>

2  重新build

 再进行测试,问题,已经完美解决。

 

 

N.3    maven部  eclipse Dmaven.multiModuleProjectDirectory system propery is not set

eclipse ==》右键项目==》run as maven compile ==》执行后报错如下:

-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

 

 

问题原因:

maven版本太高

 

解决方案:

1  换低版本的maven   或者用下边的方法(实践可行)

2    Window->Preference->Java->Installed JREs->Edit

在Default VM arguments中设置

-Dmaven.multiModuleProjectDirectory=$M2_HOME

 

 

 

N.4    maven部 Failed to execute goal org.apache.maven.plugins

19-2-23 下午12时59分48秒: Build errors for ddwei-dao; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources (default-resources) on project ddwei-dao: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources failed: Unable to load the mojo 'resources' (or one of its required components) from the plugin 'org.apache.maven.plugins:maven-resources-plugin:3.0.2'

 

maven报错,如上,经核查,是pom.xml中的版本为3.0.2 maven-resources-plugin插件 版本不对,更新版本之后就可以了

 

 

 

N.5    maven部 Could not transfer artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to central

maven安装完成,环境变量配置没有问题,cmd窗口运行mvn compile的时候报错如下

 

Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved:
Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6:
Could not transfer artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.52.215] failed: Connection timed out: connect -> [Help 1]

 

解决方案:

 1  经红色字体可以得知,不能在https://repo.maven.apache.org/maven2这个网址下载到maven-resources-plugin:jar:2.6jar包,于是我浏览器访问了红色网址,可以访问的到。

 2  我把从其他地方得到的2.6的maven-resources-plugin jar包和pom相关文件放到maven指定的目录下,可是错误依旧,尝试失败。

 3  从网上搜到这种问题的解决方案之一:是在pom.xml中加入依赖如下,

 

<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</dependency>

   有些人用这个方法解决了问题,但是我的问题依旧;

 

 4  开始放大招了,最后搜索到一种方法,直接把maven安装文件夹的conf文件夹下的 settings.xml文件配置如下:

<mirrors>

<!-- maven官方镜像 -->
<mirror>
<id>mirrorId</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name </name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>

 


<!-- 又一个镜像 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://central.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>

<!-- 阿里云镜像2 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>

 


<!-- junit镜像地址 -->
<mirror>
<id>junit</id>
<name>junit Address/</name>
<url>http://jcenter.bintray.com/</url>
<mirrorOf>central</mirrorOf>
</mirror>

</mirrors>

 

,最后问题得以解决。

 

这种问题出现的原因就是,联通的网段,无法访问maven.org网站。

 

5   当我配置完成后,maven 中心库可以把mavenx相关的jar包配置下来,但是junit4依然一直下载不成功。

    后来上网搜索了下,settings.xml里面有个代理 标签proxies,打开这个代理标签才能访问central  库外的junit库,我就解开了注释,没想到还真成功了。

  <proxies>
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
     |-->
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>

    
    
  </proxies>

但是保持打开状态的话,当central库里的东西报错。

当我把所有当下来的东西全部删除,并且把proxy 注释掉之后,又能够把maven和junit同时当下来,并且不报错。

问题是解决了,但是不清楚什么原因,如果有知道的朋友可以留言我

 

最后感谢博主提供了答案:

https://blog.csdn.net/shycx/article/details/7726600

 

 

N.6    maven部 报错 Error creating bean with name  BeanPostProcessor before instantiation of bean failed;

报错原因:缺少jar包依赖

在pom.xml中加入依赖即可

 

<dependency>
<groupId> org.aspectj</groupId >
<artifactId> aspectjweaver</artifactId >
<version> 1.8.7</version >
</dependency> 

 

 

N.7    maven部 报错 Compilation of Maven projects is supported only if external build is started

maven project Tab页面--》reimport all maven projects

 

N.8    maven部 报错 No active profile set, falling back to default profiles: default

Springboot项目,原先配置过多模块启动,且是链式的调用,

方式a  将链式启动改为常规启动方式即可,见https://i.cnblogs.com/posts/edit;postId=14296095    4.1

方式b  链式调用web启动打开即可

       new SpringApplicationBuilder(SpringBootStudyApplication.class)
                //.bannerMode(Banner.Mode.OFF)
               // .web(WebApplicationType.NONE)
               .run(args);
    }

 

 

N.9    mvn : 无法将“mvn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

多是maven环境变量没有配置

 

posted on 2018-08-09 08:26  菜鸟乙  阅读(334)  评论(0编辑  收藏  举报