`
sundful
  • 浏览: 1250049 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven一些问题

 
阅读更多

1. The container 'Maven Dependencies' references non existing library

解决方法,将eclipse中maven插件中“resolve dependencies from workspace projects”的选项取消
 
默认的本地库更改,修改maven_home\conf\settings.xml中localRepository的配置
 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. 
到有pom.xml文件的目录下执行命令

 

 
2.      myeclipse从svn导入maven项目,有modules。
myeclipse的check out maven projects from scm,没有试成功怎么导出。但可以先从svn检查maven项目,包含子module,然后再导入exists maven projects。

 

3. Failure to find xxx:jar:1.0 in ... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced
      这是一些jar包在之前的仓库无法获得,在更改仓库后,或把jar包部署到了私服上后,仍然出错。这时把.m2 文件夹下对应的 xxx.lastUpdated文件再更新依赖,就可以了。或者使用mvn命令时加 -U参数,忽略xxx.lastUpdated。

      另外以上方式仍然报错,这时可能是maven 库或私服里确实没有对应的jar包,这时可以在私服里增加仓库,或者更改仓库。

 

4.      pom聚合的install,在maven 的build config里,goals选项里填入install,profiles中填入maven聚合项目中配置的modules profile的id,如果是如下配置:
<profiles>
  
  <profile>
    <id>modules</id>
    <modules>
<module>modules/parent</module>
<module>modules/common</module>
<module>modules/entity</module>
<module>modules/ejb</module>
<module>modules/spring</module>
<module>modules/hibernate</module>
<module>modules/web</module>
<module>modules/test</module>
  </modules>
  </profile>
</profiles>
则这里就要填入modules

 

5.  maven install的plugin找不到,比如effective pom 中配的是2.3.1,本机上已经有2.2.1了,是不会使用的。就会去maven仓库中下载新版本,maven 的中央库连接经常不稳定。一般会在settings.xml中配置一些镜像。但maven不会依次去尝试所有镜像,而当排在前面的镜像失效、或不能提供最新版本时,就需要调整镜像的位置。

 

6.  导入的maven项目找不到jdk中的类
jdk版本是1.6,ide是ide出问题了,将Myeclipse重启ide,对有依赖的maven项目进行更新maven依赖、更新maven项目配置操作,然后对本项目clean、 重新build后就可以了。

 

7.  拷贝依赖包 mvn dependency:copy-dependencies,默认会拷到项目的 target\dependency 目录,想要复制到自定义的目录比如target/libs目录下,需要在pom.xml文件中添加设置覆盖默认设置:
<build> 
    <plugins> 
        <plugin> 
            <artifactId>maven-dependency-plugin</artifactId> 
            <configuration> 
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                <excludeTransitive>false</excludeTransitive> 
                <stripVersion>true</stripVersion> 
            </configuration> 
        </plugin> 
其中${project.build.directory}是maven变量,表示target目录。如果不写的话,将在根目录下创建lib目录。
excludeTransitive,表示是否不包含间接依赖的包;
stripVersion表示复制的jar文件去掉版本信息。
如果需要在其他过程,比如package中加入copy-dependencies,需要在该plugin标签中这样设置:
 
<executions> 
    <execution> 
        <id>copy-dependencies</id> 
        <phase>package</phase> 
        <goals> 
            <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
            <outputDirectory>libs</outputDirectory> 
            <excludeTransitive>false</excludeTransitive> 
            <stripVersion>true</stripVersion> 
        </configuration> 
    </execution> 
</executions>

 

8. 导入jar包到本地库
      有时候有些第三方就是从仓库中下载不下来,配的私服也有问题,就只有手动导入jar包了。Myeclipse 10 可以使用“Myeclipse -- utilities -- Maven4MyEclipse -- import jar to local repository”工具,导入jar包到本地库。eclipse的m2eclipse插件暂时没找到这样的工具。使用maven命令的可以这样:
mvn install:install-file 
-DgroupId=com.danga 
-DartifactId=memcached 
-Dversion=2.0.1 
-Dfile=java_memcached-release_2.0.1.jar (或者/d:/java_memcached-release_2.0.1.jar)
-Dpackaging=jar -DgeneratePom=true
This will add the memcache jar into your local Maven2 repository under groupId com.danga and artifactId memcached, you can then edit your pom.xml adding this dependency.
 
However, the maven eclipse can not recognize it since it always search from public repository .
 
安装到私服
    mvn deploy:deploy-file -DgroupId=org.apache.hadoop  -DartifactId=hbase -Dversion=1.0 -Dpackaging=jar -Dfile=[path to file] -Durl=[url] -DrepositoryId=[id]
 
批量导入jar
    直接拷贝文件至/opt/data/nexus/sonatype-work/nexus/storage/pvinsight/org/apache/hadoop/hive/hive-exec/0.5.0
    或者
    通过脚本执行 mvn deploy:deploy-file  

 

9. 使用maven发布是,报某个类找不到,原因是某个运行时的类,import了用于测试的类(但并未使用),比如junit相关的类。这样,在ide中和maven compile时都不会报错,在打包时,由于junit这样的jar的scope是test类型,因此就不会包含进来,于是就出错了。解决方法就是删除不不要的引用。
分享到:
评论

相关推荐

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    3. **依赖管理**: Maven通过POM自动管理项目的依赖关系,可以避免jar地狱问题,减少手动配置。 4. **生命周期 (LifeCycle)**: Maven有三个主要的生命周期,分别是clean、default和site。default生命周期包含编译、...

    Maven常见问题解答

    在使用Maven进行Java开发的过程中,常常会遇到一些常见的问题,以下是对这些问题的详细解答: 1. **导入web类型的Maven项目到Eclipse无法正确识别**:这通常是因为Eclipse缺少对Maven项目的理解。解决方案是在项目...

    maven安装maven安装maven安装maven安装maven安装

    maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...

    eclipse安装maven插件,处理无Maven Pom editor打开方式问题

    在Eclipse中安装Maven插件,可以方便开发者在IDE内进行Maven项目的操作,解决无法用Maven Pom editor打开pom.xml文件的问题。以下是对这个主题的详细说明: 1. **Maven Pom Editor**: Maven的pom.xml文件是项目...

    maven总监的一些坑

    本文将根据“maven从配置到一些坑的总结”这一主题,深入探讨Maven的使用过程中的关键知识点,以期帮助开发者避开这些潜在的问题。 【描述】:“maven从配置到一些坑的总结对接下来的使用maven有好处” 正确配置和...

    Maven仓库apache-maven-3.2.5

    Maven 3.2.5是该工具的一个版本,发布于2014年,旨在提高构建效率,增强稳定性,并修复了前一版本的一些已知问题。 在Java开发中,Maven通过使用一个统一的构建生命周期和约定优于配置的原则,极大地简化了项目构建...

    开源工具Maven3.9.4版本压缩包

    Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...

    Maven很Maven仓库

    文件列表中的"新建文件夹 (2)"可能包含了一些具体的Maven项目或者依赖库,这些文件可以帮助开发者快速启动基于Spring 4.0.5和MyBatis的项目,避免了手动下载和添加依赖的步骤。 总的来说,Maven的使用极大地提高了...

    Maven3.5~3.6.3各版本下载

    Maven版本下载指南 Maven是一款基于Java的项目管理和构建工具,由 Apache Software Foundation 开发和维护。Maven的主要功能是帮助开发者快速构建、测试和部署项目。在实际项目开发中,Maven发挥着至关重要的作用。...

    Windoiws的maven3.8.8

    Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和优化,提供了更稳定和高效的服务。 ### 一、Maven 3.8.8下载 首先,你需要从Apache Maven的官方网站(https://maven.apache.org/download.cgi)下载...

    maven之开源中国Maven库

    这对于国内开发者来说,可以显著减少因网络问题导致的依赖下载延迟。 此外,`settings.xml`还可以用于配置用户的个人信息、服务器认证、以及本地仓库路径等。对于大型团队,可能还需要管理多个Maven项目,这时可以...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    此外,它还修复了一些已知的bug,确保了更好的兼容性和可靠性。 安装Maven 3.6.0的过程相对简单。首先,你需要下载`apache-maven-3.6.0`压缩包。这个压缩包包含了Maven运行所需的所有文件,包括bin目录下的可执行...

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    maven教程-maven教程-maven教程

    Maven之所以被广泛应用,是因为它解决了传统Java项目开发中遇到的依赖管理问题。在没有Maven之前,开发者需要将所有依赖的jar包手动下载并添加到项目的lib目录中,这不仅繁琐,而且容易出错,例如版本冲突和依赖遗漏...

    maven 3.8.8 解压安装版

    当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个...

    maven.rar apache-maven-3.5.4

    使用Maven,开发者只需在POM.xml中声明项目依赖,Maven会自动下载并管理这些依赖,避免了版本冲突问题。此外,Maven通过约定优于配置的原则,简化了项目结构,使得构建过程标准化。 总结来说,Maven 3.5.4是一个...

    Intellij IDEA中使用maven filter遇到的问题

    在IntelliJ IDEA中使用Maven Filter功能时,开发者可能会遇到一些挑战,这些挑战主要涉及到配置、资源过滤以及与项目构建的交互。首先,我们来深入理解Maven Filter及其在IntelliJ IDEA中的应用。 Maven Filter是...

    Maven全版本资源,Maven 3.0.5-3.8.5,每个版本包含4个文件,Maven3全资源打包下载,Maven全集

    apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...

    Maven3.5.4本地安装包

    例如,这个版本提高了构建速度,修复了一些已知问题,同时增强了对Java 9和10的支持。此外,它还引入了新的插件管理和依赖解析机制,使得项目的构建更加高效和可靠。 安装Maven 3.5.4的步骤通常包括以下几个部分: ...

    Mac的maven安装包apache-maven-3.6.3.zip

    在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...

Global site tag (gtag.js) - Google Analytics