idea和maven各种报错汇总
Error running 'JsonSchemaTest.loadSchemaTestFailed':Command line is too long. Shorten command line for。。。。。 also for JUnit default configuration? (a minute ago)命令太长加载时找不到在configuration中选择modify option
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架构设计、配置。
2.4:springboot项目的maven中pom.xml报Exception creating connection to: 127.0.0.1; nested exception is: java.net.BindException: Address already in use: connect
这种一般是maven和jdk版本冲突导致的
我的maven是3.8.4,jdk是oracle的openjdk17.0.13
我重新下载了jdk下载安装后idea项目修改了jdk即可
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)