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 原型)