1、idea报错

1:idea运行报Command line is too long. Shorten command line for

命令太长加载时找不到

Error running 'JsonSchemaTest.loadSchemaTestFailed': 
Command line is too long. Shorten command line for 
。。。。。 also for JUnit default configuration? (a minute ago)

在这里插入图片描述

在configuration中选择modify options选择shorten command line
在最下面的shorten command line 选项中选择calssparh file即可

2:idea的pom文件报’packaging’ with value ‘jar’ is invalid. Aggregator projects require ‘pom’ as packaging.

pom默认的时jar,如果是父工程,其他进行引用,则父工程要进行声明
pom.xml中加入: <packaging>pom</packaging>

2、maven使用及报错

2.1:maven安装及使用

maven的下载安装配置自行查看网上

2.1.1:maven仓库架构

本地仓库就是从远程仓库下载的依赖包、在本地是以一个目录的形式存在。存储位置和远程仓库都可以在maven配置文件的setting.xml中进行配置。
在这里插入图片描述
远程仓库配置示例:

<!--setting.xml中添加如下配置-->
<mirrors>
	<mirror>
        <id>aliyun</id>  
        <!-- 中心仓库的 mirror(镜像) -->
        <mirrorOf>central</mirrorOf>    
        <name>Nexus aliyun</name>
        <!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
    </mirror>
</mirrors>

idea引入依赖后依赖的下载顺序:
在这里插入图片描述

2.1.2:idea中maven使用
1:idea项目关联maven

在是maven项目的pom.xml中左键add maven关联为maven项目。后续就可以通过idea使用maven来管理项目

Maven 项目工程的目录结构

作为一个 maven 工程,它的 src目录和 pom.xml 是必备的。
进入 src目录后,我们发现它里面的目录结构如下:

src/main/java —— 存放项目的.java 文件
src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件
src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的class 文件会输出到此目录
pom.xml——maven 项目核心配置文件

idea中setting设置maven安装信息
在这里插入图片描述

2.1.3:本地lib加入本地maven仓库

有些项目会依赖公司自己的项目或者依赖其他公司项目的的jar包。
常规方式是将.jar加到项目的resource或者lib目录下再配置打包,在pom.xml中直接引入就会导致导入不进来或者打包打不进去等各种现象。下面将jar包加到本地仓库便于使用。

1、按照jar包到本地的maven仓库

mvn install:install-file -Dfile=G:\yd\code\gitlab\jna.jar -DgroupId=com.hikvision -DartifactId=HCNetSDK -Dversion=1.0.0 -Dpackaging=jar

2、在pom.xml中使用依赖即可,就不会存在打包打不进去的问题了

   <dependency>
            <groupId>com.hikvision</groupId>
            <artifactId>HCNetSDK</artifactId>
            <version>1.0.0</version>
        </dependency>
2:项目pom.xml配置

常见配置项如下

<project > :文件的根节点 .
<modelversion > : pom.xml 使用的对象模型版本
<groupId > :项目名称,一般写项目的域名
<artifactId > :模块名称,子项目名或模块名称
<version > :产品的版本号 .
<packaging > :打包类型,一般有 jar、war、pom 等。
	pom表示只是起配置作用、没有主类main的模块是不需要配置打包的
	<!-- 打包方式,如果是java项目则用 jar,
         如果是web项目则用war -->
    <!--<packaging>war</packaging>-->
<name > :项目的显示名,常用于 Maven 生成的文档。
<description > :项目描述,常用于 Maven 生成的文档
<dependencies> :项目依赖构件配置,配置项目依赖构件的坐标
<build> :项目构建配置,配置编译、运行打包插件等。

依赖的查找和导入:

  • 查找:在maven仓库可以搜索自己要的依赖https://mvnrepository.com/
  • 引入:复制依赖包地址到pom中。引入后需要同步依赖

在这里插入图片描述

3:多模块项目pom设置

在多模块项目中模块引用错误会出现各种奇怪的打包、编译报错(包明明导入但是编译程序包不存在等)。
多模块项目架构:
一般父pom也就是项目pom:进行依赖版本包管理、模块管理、编译插件管理、项目父pom的打包方式肯定是pom
公共模块:放入公共功能,由其他模块进行调用。
具体功能模块:完成自己的逻辑。

   <modules>
        <module>mobile-admin</module>
        <module>mobile-common</module>
        <module>mobile-demo</module>
        <module>mobile-extend</module>
        <module>mobile-flowable</module>
        <module>mobile-framework</module>
        <module>mobile-generator</module>
        <module>mobile-job</module>
        <module>mobile-oss</module>
        <module>mobile-sms</module>
        <module>mobile-system</module>
        <module>mobile-IPC</module>
    </modules>
    <packaging>pom</packaging>

2.2:idea项目执行maven打包各种报错

maven仓库依赖查看地址:https://mvnrepository.com/

2.1:Unable to resolve dependencies无法解析依赖

一般是依赖包缺失相关依赖。可到本地的相关jar包下查看到没有下载到pom和jar文件,如果是内网查看自己的maven仓库是否有该版本依赖,没有去maven公共仓库下载后导入

2.2:maven依赖jar包导入自己本地仓库

下载jar包后,放到任意路径。在该路径执行cmd进入命令窗口执行下面命令Dfile=E:\htht\javac-9+181-r4173-1.jar后面是jar绝对路径。
mvn install:install-file -DgroupId=com.google.errorprone -DartifactId=javac-shaded -Dversion=9+181-r4173-1 -Dpackaging=jar -Dfile=E:\htht\javac-9+181-r4173-1.jar

2.3:Maven多模块项目+SpringBoot,编译或者打包失败:程序包xxx不存在

解决1:对依赖的模块重新build。vn
解决2:使用maven或者在termenal窗口执行mvn idea:idea命令,完毕后清除缓存并重启idea
解决3:看自己的模块之间是否存在多层重复引用,一般多模块项目多是此原因:模块A引用了模块B,模块C在引用了模块A\B就会有程序包不存在的问题。对pom.xml重新进行module架构设计、配置。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐