【Maven问题】应用Maven构建项目遇到的各种问题总结

来源:互联网 发布:显卡升级软件 编辑:程序博客网 时间:2024/06/05 10:57

2. 补充Maven配置本地仓库

**配置**:windows–>preferences–>Maven–>UserSetting **参考文档**:
  • 参考文档1:Maven本地仓库配置
  • 参考文档2:修改maven本地仓库路径 .

3. 新建Maven工程,不显示源文件包

  • 现象:eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder
  • 解决办法:在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了
  • 参考文档:解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法

4. Maven显示红叉,pom.xml文件内没有报错,Problems中显示:maven missing artifact

  • 问题:仓库中没有找到对应的jar包文件
  • 解决办法:可以配置多个仓库,远程和本地的,(可以参考博客其它内容)
  • 参考文档1:解决Maven的“Missing artifact ……”问题

5. Maven中ArtifactDescriptorException的解决方法

  • 出现该问题原因:在Maven工程中的pom.xml中引入以下内容:

    <dependency>    <groupId>org.forgerock.openam</groupId>    <artifactId>openam-oauth2</artifactId>    <version>${openam.version}</version></dependency>
    • 1
    • 2
    • 3
    • 4
    • 5
  • 问题解决:好像是无法解析${openam.version},将其改为12.0.0就可以了,难道Maven不支持${openam.version}这种写法?可我是在github中直接clone过来的呀(看来Maven还要好好学习呀)
  • 参考文档:ArtifactDescriptorException的解决方法

6. Maven-web工程报错:Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix

  • 参考文档:Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix

7. ★★Maven工程:problems中报如下错误,且package Explorer视图下工程中图标有小红叉、但工程下的文件没有显示红叉

  • 错误提示

    1. 错误1:Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to 3.0. shiro_learn1 line 1 Maven Java EE Configuration Problem
    2. 错误2:Description Resource Path Location Type One or more constraints have not been satisfied. shiro_learn1 line 1 Maven Java EE Configuration Problem
  • 解决方法 
    第一步:参照下面的参考文档,对自己工程中的相关文档进行修改 
    第二步:★右键项目 > Maven > Update Project Configuration。OK完美解决

  • 参考文档: 
    参考文档1:Cannot change version of project facet Dynamic web 
    参考文档2:解决Cannot change version of project facet Dynamic web module to 2.5
  • 问题 
    参考文档1和参考文档2两个文档中说得内容有点不同。即:org.eclipse.wst.common.component 文件的”project-version”是否要改,暂时没有系统学习Maven,所以这个问题只能暂时放在这里了,如果有理解具体意义,方便的话告知一下喽。

8. ★★Maven工程右键进入Maven > Project Facets > Dynamic Web Module 改为3.0报错:Cannot change version of project facet Dynamic web module to 3.0

  • 解决方案: 
    在maven工程中引入本地jar包或安装本地jar包到本地仓库。引入本地jar包:假设引入本地C:\Users\yangping\Desktop\a\下的IKAnalyzer3.2.8.jar包,则在pom.xml中配置依赖如下:
<dependency>          <groupId>org.wltea</groupId>           <artifactId>IKAnalyzer</artifactId>           <version>3.2.8</version>  <systemPath>C:\Users\yangping\Desktop\a\IKAnalyzer3.2.8.jar</systemPath>       </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 参考文档:解决Cannot change version of project facet Dynamic web module to 2.5

9. 安装本地jar包到本地仓库

第一步:将要安装的jar包拷贝到仓库相应目录下并在该目录下创建hw-openam-restlet-extension-0.0.1.pom

<?xml version="1.0"encoding="UTF-8"?><projectxsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"xmlns="http://maven.apache.org/POM/4.0.0"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <modelVersion>4.0.0</modelVersion>    <groupId>openam</groupId>    <artifactId>hw-openam-restlet-extension</artifactId>    <version>0.0.1</version>    <description>Hw Local openam Repository</description></project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

第二步:打开cmd ,进入到F:\bx_maven2.m2\repository\com\myxmlbean\customerXmlBean\2.6.0文件夹,运行下面命令如下命令: 
mvn install:install-file -Dfile=chw-openam-restlet-extension-0.0.1.jar -DgroupId=openam -DartifactId=hw-openam-restlet-extension -Dversion=0.0.1 -Dpackaging=jar

参考文档:http://m.blog.csdn.net/blog/lock0531/25891159


10. Maven工程:Non-resolvable parent POM: Failure to find

  • 解决方案:应该在元素下一级添加用来指定正确的父pom路径,默认为../pom.xml
  • 参考文档:Maven:Non-resolvable parent POM: Failure to find错误

11.异常:UnsupportedClassVersionError: Unsupported major.minor version 51.0

  • 分析原因:jdk版本不对,对于java程序员来讲这是个永恒的话题。多次被它整得无可奈何。下面我列举出来的一些常见配置jdk的配置。 
    1. 环境变量JDK(如果安装了多个jdk环境的情况)、项目引入的Lib包、Java Compiler、Java Facets
    2. eclipse的Navigator视图对应工程下的.settings文件夹的诸多文件:如org.eclipse.jdt.core.prefs文件中的配置
    3. 对于Maven项目还有:pom.xml中配置的编译环境、maven根目录中setting.xml文件中配置的环境
  • 参考文档1:错误:Unsupported major.minor version 51.0(jdk版本错误)
  • 参考文档2★★:【java.lang.UnsupportedClassVersionError】版本不一致出错

12. Maven本地仓库中的jar包名字后有lastUpdate

  • 原因:maven从nexsu上面拉jar包,有时会因为网络问题导致下不了包,这时候文件夹内会个*lastUpdated.properties的文件,而这文件的存在会导致下次服务器不会去下载这个包,这时候要删掉这个文件才能让maven再次去下载。以下分别是windows下和linux下的批量删除该文件命令:
  • 解决方案: 
    1. windows下的命令*del D:\HwRepository\maven_repository.m2\repository*lastUpdate /a/s
    2. linux下的命令:find ./ -name “*lastUpdated” | xargs -i -t rm {} -rf
    3. 删除少于10k的jar:find ./ -size -10k -name “.jar” | xargs -i -t rm {} -rf
  • 参考文档:maven下载jar包问题 
    其它方式:参考文档:Maven库中.lastUpdated文件自动清除工具

13. Maven运行报错:-Dmaven.multiModuleProjectDirectory system propery is not set.

  • 原因:Maven环境配置错误,应该设一个环境变量M2_HOME指向你的maven安装目录
  • 解决方式:Window->Preference->Java->Installed JREs->Edit。在Default VM arguments中设置-Dmaven.multiModuleProjectDirectory=$M2_HOME。图示如下: 
    这里写图片描述

文章转载出处:http://blog.csdn.net/heweirun_2014/article/details/46558329

阅读全文
0 0