• Archive for required library: '*****org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar' in project 'SpringBootTest' cannot be read or is not a valid ZIP file

    出现以上错误,表示下载的jar包不可多,多半原因是下载过程中中途网络中断或其它原因导致没有完整下载下来,解决办法就是删除掉这个jar,让重新下载

  • mvn在本地库存在且完整,但是pom中依然报出文件不存在  

             这种可能跟第一次下载或者从别的地方copy过来,引入_****.repositories文件不是本地通过下载的有关,将其删除掉即可。

  • Could not resolve dependencies for project

   mvn在依赖dependency中引入的另一个工程,如果是pom工程则需要声明<type>pom</type>,默认是寻找jar。同时mvn在dependency打包时,要将依赖的包先deploy到环境下,然后这边才可以从仓库中获取编译。

  • parent.relativePath 不存在问题

    默认mvn会在..pom.xml中查找父项目,如果找不到,会去本地仓库然后是远端仓库

              设置<relativepath />,指定从远端仓库获取。

              本地仓库如果使用命令的形式,则默认采用mvn的setting文件的本地仓库地址,而我在eclipse中指定的setting文件为Repository中的setting,导致绕了好大圈,不过只有问题才能让人进步。

  • 项目有大红色叹号,build path 发现有两个java的lib下的jar包在项目中却指向了alibaba。

     

maven模块显示sourceroot maven repositories error_开发工具

    问题是alibaba的druid包引用了这两个,而在druid的pom文件中指向JAVA_HOME,如果指向错误就导致找不到文件。

            一种解决方案就是在引入druid中排除掉错误的这两个。项目一般都会引用jdk的lib。        



<exclusions>
    <exclusion>
      <groupId>com.alibaba</groupId>
      <artifactId>jconsole</artifactId>
    </exclusion>
    <exclusion>
      <groupId>com.alibaba</groupId>
      <artifactId>tools</artifactId>
    </exclusion>
</exclusions>



    另一种就是修改druid的pom文件,去掉jdk1.8中的..

maven模块显示sourceroot maven repositories error_开发工具_02

 

  •  mvn 模块之间引用发生异常,但引用的那个项目没有报错

              mvn项目之间的引用实质也是一种jar包的引用,因此尽管上一个项目没有报错,但不代表能够编译通过,因此如果build中发现引用出错,要对前一个项目进行package编译,查找问题。

  • Overriding Dependency Versions with Spring Boot

     mvn的jar包如果已经在某个中存在这个jar包,如果我们再手动引入,就会有版本覆盖的警告。不过新版本要在<properties></properties>中定义才可有效。

  •  failed to read artifact descriptor for

这种可能跟第一次下载或者从别的地方copy过来,引入_****.repositories文件不是本地通过下载的有关,将其删除掉即可。如果是module那种,将对应的一并删除即可。

  • Plugin execution not covered by lifecycle configuration

解决办法参照

    原因是第三方的plugin中的phrase和mvn的公共的phrase都存在,从mvn生命周期lifecycle角度,导致程序不知道应该调用哪一个,因此报出以上错误。这种不影响程序运行。

    处理办法:第一种: 添加<pluginmanagement></pluginmanagement>将plugin作为公共管理。

    第二种:在错误处,点击进行ignore。

    

maven模块显示sourceroot maven repositories error_maven模块显示sourceroot_03

   第三种在lifecycle-mapping-metadata.xml文件中添加ignore:

maven模块显示sourceroot maven repositories error_开发工具_04

 



<lifecycleMappingMetadata>
    <pluginExecutions>
    
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <goals>
                    <goal>execute</goal>
                </goals>
                <versionRange>[3.0.1,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <goals>
                    <goal>execute</goal>
                </goals>
                <versionRange>[2.11,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <goals>
                    <goal>execute</goal>
                </goals>
                <versionRange>[2.17,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>



Perhaps you are running on a JRE rather than a JDK

 mvn install 报出这个错,原因是eclispe默认采用jre,因此要在window->preference->java中修改为jdk即可。

 7. target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)

 pom文件报错,重新mvn update program,或者 clean项目

8.Cannot change version of project facet Dynamic Web Module to 2.5. ****  line 1 Maven Java EE Configuration Problem

           是因为project facet的module从远端和本地不匹配导致。可进入然后将Dynamic 的对号去掉,然后Apply,然后在打上再apply。

          再update mvn project。

9. mvn编译插件可解决mvn自动构建为J2E1.5的问题,mvn默认对应的j2e1.5导致

 



maven模块显示sourceroot maven repositories error_java_05



<plugin>    
        <groupId>org.apache.maven.plugins</groupId>    
        <artifactId>maven-compiler-plugin</artifactId>    
        <configuration>    
            <source>1.8</source>    
            <target>1.8</target>    
        </configuration>    
     </plugin>


maven模块显示sourceroot maven repositories error_java_05



删除或者改变pom.xml中的内容,但是idea-dependency中的依赖包还是未发生变化,且reimport也不起作用。

       setting.xml文件有错导致,可通过  mvn clean 来确定setting文件。

Element 'dependency' cannot have character [children], because the type's content type is element-on

  pom.xml中 存在着一些特殊字符,可能是从别的地方粘贴而带来的。删除标签间的空格,重新格式化。