概述
相信配置和使用过Maven的人都会遇到很多的问题,当然我也在刚开始接触Maven时,被它搞得头大,因此,借个机会,对遇到的问题做了一些小总结。
配置过程中
- 在cmd输入mvn -v 查询version的时候出现了如下问题:
‘mvn-v’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决方式:
变量名:M2_HOME
变量值:E:Mavenapache-maven-3.5.0(你自己的maven的安装目录)
变量名:Path
变量值:;%M2_HOME%bin
使用过程中
- 在创建工程时,会出现如下问题myeclipse加载缓慢并且有时候卡死:
解决方案:
- 在创建工程时,出现“缺少maven-arcfitype-quickstart1.0.jar”的提示,其实主要问题可能是在于刚开始Maven工程的一些文件没有下载完全,其解决方式有两种:
解决方案一:
在CMD命令下,输入:
mvn install:install-file -Dfile=maven-arcfitype-quickstart1.0.jar -DgroupId=fbcds -DartifactId=maven-arcfitype-quickstart1.0.jar -Dversion=1.0 -Dpackaging=jar
解决方案二:
在对应配置本地仓库的路径下,将所有的文件全部删除,然后重新启动myeclipse,让其重新加载内容,比如我的路径:
如何在当前工程下引入自己通过maven install打包到本地的jar包?
首先我们要理解一个内容,那就是scope,那什么是scope呢?其实它实质是一个管理依赖部署,在Maven中主要就是帮助当前项目管理依赖jar包,目前依赖项的作用域可以使用5个值:
在定义项目的依赖项的时候,我们可以通过scope来指定该依赖项的作用范围。scope的取值有compile、runtime、test、provided、system和import。
- compile:这是依赖项的默认作用范围,即当没有指定依赖项的scope时默认使用compile。compile范围内的依赖项在所有情况下都是有效的,包括运行、测试和编译时。
- runtime:表示该依赖项只有在运行时才是需要的,在编译的时候不需要。这种类型的依赖项将在运行和test的类路径下可以访问。
- test:表示该依赖项只对测试时有用,包括测试代码的编译和运行,对于正常的项目运行是没有影响的。
- provided:表示该依赖项将由JDK或者运行容器在运行时提供,也就是说由Maven提供的该依赖项我们只有在编译和测试时才会用到,而在运行时将由JDK或者运行容器提供。
- system:当scope为system时,表示该依赖项是我们自己提供的,不需要Maven到仓库里面去找。指定scope为system需要与另一个属性元素systemPath一起使用,它表示该依赖项在当前系统的位置,使用的是绝对路径。
-
- 解决方案一:将待引入的包放在目录下如lib目录下,修改pom文件,加入依赖并且scope要设置为system,比如:
<dependencies>
<dependency>
<groupId>com.Cecilia.vote</groupId>
<artifactId>voteSystemPlus</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/fbcds.jar</systemPath>
</dependency>
</dependencies>
-
- 解决方案二:将待引入的jar包安装到本地repository中,再对应在pom.xml中添加依赖,同上。
如何在Maven中打可执行的jar包?
解决方案一:直接在对应目录下打开CMD,输入:
maven install
解决方案二:使用maven plugin插件打包,具体操作见:http://blog.csdn.net/semial/article/details/75226448
最后
以上就是隐形冬日为你收集整理的配置和使用Maven时遇到的疑难杂症(在myeclipse环境下)的全部内容,希望文章能够帮你解决配置和使用Maven时遇到的疑难杂症(在myeclipse环境下)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复