maven常见十大错误大全和解决方案以及maven的41种骨架分析

1.pom.xml中war报错

有两种情况
在这里插入图片描述
1.第一种有可能你maven项目webapp下没WEB-INF没web.xml
解决方案
在webapp下新建文件夹WEB-INF新建web.xml
这时候就需要手动添加web.xml 该怎么做呢
右键项目,点击java EE Tools 其中点击Genertate Deployment Descriptor Stub
这样WEB-INF就会添加上web.xml了
如何update project即可
2.检查第一种情况 发现不缺少
如何按照Problems提示去本地仓删除插件
或者在pom.xml中build标签加入

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>

2 启动maven中tomcat端口被占用

两种方法:
1.在pom.xml里修改

在这里插入图片描述


<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
  <port>9999</port> 
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>

2.在Run Configurations修改启动方式,加上-Dmaven.tomcat.port=端口号
在这里插入图片描述
-Dmaven.tomcat.port=8081 tomcat:run

tomcat有两种插件,tomcat-maven-plugin 和tomcat7-maven-plugin ,当用tomcat插件,Goals里用tomcat:run,如果用的tomcat7插件,Goals则用tomcat7:run,这两种不能混用,不然在pom.xml改了默认端口就不会生效

3.解决新建maven项目没有src/main/java和src/test/java以及src/main/webapp文件夹没有显示的问题

1.查看
博客一:https://blog.csdn.net/u012060033/article/details/82753354
博客二:https://blog.csdn.net/xiangwangxiangwang/article/details/78392456
2.手动创建并且添加到指定target输出目录方案https://blog.csdn.net/ght886/article/details/81352041
3.在创建时候解决这个问题可以直接跳过选择骨架
在这里插入图片描述
不过这个缺失web.xml需要手动创建

4.创建Maven项目出错org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject

在这里插入图片描述
在这里插入图片描述
1.有可能创建项目时候指定了Jdk版本
在这里插入图片描述
在这里插入图片描述
其二手动remove 当前配置djk 使用本地适配jdk
在这里插入图片描述
其次引入适配版本的jdk

5.针对与myeclipse2014解决maven项目Dmaven.multiModuleProjectDirectory报错问题

maven项目中,在run as 执行maven命令的时候,报错:

-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
在myeclipse中打开这个页面,具体的打开步骤我就不多说了,如下图:在这里插入图片描述
选中你的maven项目使用的jdk,点击edit按钮,出现如下页面:
在这里插入图片描述
在红色框中添加如图所示的一行代码,代码如下:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

需要注意的地方是$M2_HOME,在环境变量中必须配置这个属性才可以,M2_HOME对应的环境变量值是maven的安装路径,例如:

M2_HOME=D:\maven\apache-maven-3.3.9(我的maven安装路径是在D盘)。
如果你配置的是MAVEN_HOME那么你这个应该写成

-Dmaven.multiModuleProjectDirectory=MAVEN_HOME

6.eclipse中修改jdk之后updateproject更改不了默认JDK解决方案

<!-- 添加项目jdk编译插件 -->
	<build>
		<plugins>
			<!-- 设置编译版本为1.7 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- 设置端口号 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<port>9999</port>
					<uriEncoding>UTF-8</uriEncoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

7.还有一些常见的二因为忘记截图了大概例如backport-util-concurrent报错提示你去update project之类的错误

这一类错误有共性 在problems中提示你去update project或者你去百度发现解决方案全部是清一色的update project而且你一再尝试更新还是报错 这个时候你需要采取一下方案
1.打开本地setting查看本地仓位置
2.赋值本地仓位置去目录下找到报错文件夹或者jar包删除
3.重新到项目中update project即可
4.如果还是不行查看该目录下是不是缺失jar例如一些jar包空有项目中和项目名版本号却没真材实料没真实jar

8.本地仓索引常见失败

解决方案去window配置中更改本地仓根目录
然后到在这里插入图片描述
中重新在这里插入图片描述

9.解决导入本地仓jar包问题 因为版权问题数据库连接驱动jar包无法下载

maven如何手动将jar包放到本地仓库
一:将本地的Jar包依赖deploy到本地maven库中
二:在工程中新建lib目录放jar包便于引入多个jar包依赖
这里拿ojdbc6为例演示两种方式

9.1.cmd命令行

1.下载ojdbc6
2.将ojdbc6.jar放在你某个位置,我这里放在桌面上
3.打开终端(windows用户打开cmd),输入:
mvn install:install-file -Dfile=你的存放ojdbc6.jar文件的位置 -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=版本号 -Dpackaging=jar -DgeneratePom=true

4.比如我的Jar放在如下位置
在这里插入图片描述
5 我的执行命令如下
mvn install:install-file -Dfile=/D:/maven/ojdbc.jar/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true

6 windows+R键,输入cmd调出执行安装jar包的命令行的终端页面
执行以上命令,当出现build success即手动导入ojdbc6.jar到本地maven仓库成功
在这里插入图片描述
7.查看位置
在这里插入图片描述
8 pom文件引入手动导入本地maven仓库ojdbc6.jar包

com.oracle
ojdbc6
11.2.0.3

在这里插入图片描述

9.2手动创建文件加

打开本地仓按照导入结构创建文件夹最后把jar包放入文件夹
例如ojdbc6.jar
以继目录为com其次oracle—ojdbc6—11.2.0.3里面放了一个ojdbc6的jar包即可
在这里插入图片描述
ps == 上述如何查看直接ojdbcjar包版本
1.解压ojdbc打开目录META-INF下文件如图所示在这里插入图片描述

十。maven中update project

update project本身是更新项目的意思。
用在mave中是指pom.xml文件改动之后,需要执行Mavne/Update Project来更新外部依赖的jar包。
当Maven工程被做了一些改变后(主要是结构上的改变),必须让maven重新生成或修改相关文件。否则eclipse将不知道变化。这时候需要运行“update project”来更新相对应的“eclipse的.classpath”文件,来更新它,让eclipse知道这个包是buildpath。

十一myeclipse中jquery.min.js引入到工程中显示红叉

在这里插入图片描述
解决方法:
选中js文件,右键Myeclipse–ManaValidation–ExcludeResource–(选中全部或者那个js)–OK

12 编码errorlog报错

在这里插入图片描述
1.去设置修改编码格式
在这里插入图片描述
2.保存后重新执行Maven Install 发现警告依然存在,原来是理解错误错误了,应该修改Maven的配置文件中关于编码的配置utf-8:
还是存在警告,原来是需要在中添加标签:

<properties>
         <project.build.sourceEncoding>
             UTF-8
         </project.build.sourceEncoding>
</properties>

13 关于eclipse中没有工具类ServletActionContext错误

在这里插入图片描述
在这里插入图片描述
在项目上单击鼠标右键》
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14 当maven依赖有servlet.jar时候jsp页面报错找不到

1.先确定的确引入无误
2.eclipse 添加server library中的运行时
解觉方法:右击项目——>属性(Properties)——>找到Build Java Path——>右边有libraries选项,点击——>Add Libraries——>Server Runtime——>next,再选中你的tomcat服务器——>finish,回到Java Build Path右边界面中的Orader and Export——>选中刚刚添加的ok就可以了
myeclipse添加server library
在这里插入图片描述
然后update project即可解决

15 当新建maven项目报错pom.xml报错

1.确定jdk环境不错1.7以上
2.如果报web.3.0或者3.1不匹配或者查询不到 两种解决方案
第一种简单:在报错头部航按ctrl鼠标放到上面自动在pom.xml中添加了web.xml版本
然后把版本修改成自己的web版本即可
3.第二种解决方案 右键项目-》Properties-》找到maven里面的web一个模型版本和运行时jdk
先挑jdk在挑web版本

16.Mycelipse中使用Maven run as install编译项目的时候可能遇到报 -Dmaven.multiModuleProjectDirectory问题,解决办法就是在Myeclipse中配置Maven的环境变量

在这里插入图片描述
-Dmaven.multiModuleProjectDirectory=MAVEN_HOME
这里的MAVEN_HOME是你本机电脑配置的Maven环境变量名

11 骨架

Maven 为我们大家提供了41种骨架功能介绍

建立Maven项目时,网上建议的分别是
1、cocoon-22-archetype-webapp
2、maven-archetype-quickstart
3、maven-archetype-webapp

Maven 的41种骨架:
…>mvn archetype:generate
1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: internal -> appfuse-basic-tapestry (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型)
5: internal -> appfuse-core (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型)
6: internal -> appfuse-modular-jsf (创建一个基于 Hibernate,Spring和JSF的模块化应用原型)
7: internal -> appfuse-modular-spring (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: internal -> appfuse-modular-struts (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: internal -> appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: internal -> maven-archetype-j2ee-simple (一个简单的J2EE的Java应用程序)
11: internal -> maven-archetype-marmalade-mojo (一个Maven的 插件开发项目 using marmalade)
12: internal -> maven-archetype-mojo (一个Maven的Java插件开发项目)
13: internal -> maven-archetype-portlet (一个简单的portlet应用程序)
14: internal -> maven-archetype-profiles ()
15: internal -> maven-archetype-quickstart ()
16: internal -> maven-archetype-site-simple (简单的网站生成项目)
17: internal -> maven-archetype-site (更复杂的网站项目)
18: internal -> maven-archetype-webapp (一个简单的Java Web应用程序)
19: internal -> jini-service-archetype (Archetype for Jini service project creation)
20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)
21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (无残留) 原型)
22: internal -> softeu-archetype-jsf (JSF+Facelets 原型)
23: internal -> jpa-maven-archetype (JPA 应用程序)
24: internal -> spring-osgi-bundle-archetype (Spring-OSGi 原型)
25: internal -> confluence-plugin-archetype (Atlassian 聚合插件原型)
26: internal -> jira-plugin-archetype (Atlassian JIRA 插件原型)
27: internal -> maven-archetype-har (Hibernate 存档)
28: internal -> maven-archetype-sar (JBoss 服务存档)
29: internal -> wicket-archetype-quickstart (一个简单的Apache Wicket的项目)
30: internal -> scala-archetype-simple (一个简单的scala的项目)
31: internal -> lift-archetype-blank (一个 blank/empty liftweb 项目)
32: internal -> lift-archetype-basic (基本(liftweb)项目)
33: internal -> cocoon-22-archetype-block-plain ([http://cocoapacorg2/maven-plugins/])
34: internal -> cocoon-22-archetype-block ([http://cocoapacorg2/maven-plugins/])
35: internal -> cocoon-22-archetype-webapp ([http://cocoapacorg2/maven-plugins/])
36: internal -> myfaces-archetype-helloworld (使用MyFaces的一个简单的原型)
37: internal -> myfaces-archetype-helloworld-facelets (一个使用MyFaces和Facelets的简单原型)
38: internal -> myfaces-archetype-trinidad (一个使用MyFaces和Trinidad的简单原型)
39: internal -> myfaces-archetype-jsfcomponents (一种使用MyFaces创建定制JSF组件的简单的原型)
40: internal -> gmaven-archetype-basic (Groovy的基本原型)
41: internal -> gmaven-archetype-mojo (Groovy mojo 原型)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
当我们使用Idea创建Maven项目时,如果没有联网,可能会导致后续新建项目时出现一些错误。在这种情况下,你可以采取以下步骤来解决问题: 1. 配置代理:如果你使用了代理服务器来连接互联网,你需要在Idea的设置中配置代理。打开Idea,点击"File"菜单,选择"Settings"(或"Preferences"),在弹出的窗口中找到"Appearance & Behavior",然后选择"System Settings",然后点击"HTTP Proxy"选项卡。在这里配置代理服务器的主机和端口信息。 2. 加载本地依赖:在创建Maven项目时,Idea会尝试从互联网下载依赖项。如果没有联网,你可以手动加载本地依赖项来解决问题。在Idea的项目视图中,找到项目的pom.xml文件,右键点击选择"Reload Project",然后选择"Offline Mode"。这样Idea将只加载本地存储的依赖项。 3. 检查Maven设置:确保你的Idea中配置的Maven设置正确。在Idea的设置中,找到"Maven"选项,检查"Maven home directory"和"User settings file"是否正确配置。如果没有正确配置,将导致项目构建失败。 4. 更新Maven仓库:如果你之前已经从互联网下载了一些依赖项,并且现在没有联网,你可以尝试使用离线版本的Maven仓库。你可以将这个离线仓库(一般是本地仓库的一部分)拷贝到你的机器上,并在Maven设置中指定这个离线仓库的路径。 总的来说,没有联网时,Idea创建Maven项目可能会遇到一些问题。你可以通过配置代理、加载本地依赖、检查Maven设置以及更新Maven仓库来解决这些问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从入门小白到小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值