关于Maven报错的一些解决办法(别处贴的)

1、警告:The tag handler class for "s:form"(org.apache.struts2.views.jsp.ui.FormTag) was not found on the JavaBuild Path
这个问题终于可以解决了,在出问题的页面  <s:form> 标签前后删除空格后保存文件警告即可消失,即<s:form>为改行的起始,然后保存。

2、Eclipse下javacompiler level does not match the version of theinstalled Java project facet的问题 .

javacompilerfaceteclipsepropertiesjdk问题现象:项目图标报错“Java compiler level does not match the version of theinstalled Java project facet.”。
分析原因:根据错误信息的字面意思,应该是Java版本设定不一致的问题。而且这个Java版本跟Project安装的有关系。

解决办法:

既然是project出的问题,自然要从项目属性入手。其实很简单,

修改项目的org.eclipse.wst.common.project.facet.core.xml
 <installed facet="jst.web"version="2.5"/>  --Dynamic Web Moudle Version
 <installed facet="java"version="1.5"/>   --java Version
 根据自身机器开发环境设置
 
 或者
  右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面。

在页面中的“Java”下拉列表中,选择“1.5”

3、Struts2 + spring 
需要在pom.xml中加入:
 <!-- struts2 spring plugins -->
  <dependency>
   <groupId>org.apache.struts</groupId>
   <artifactId>struts2-spring-plugin</artifactId>
   <version>2.3.16</version>
  </dependency>
  
同时在struts.xml中加入 
 <!-- 将Action交给spring容器管理 -->
 <constant name="struts.objectFactory"value="spring" />
 
 
 
 
 4、Eclipse : An error occurred while filtering resources
 解决:Maven ->Update Project... resolved this problem for me

 5、org.dom4j.DocumentException:Software caused connection abort:recv failed

这个错误有可能是hibernate的配置文件.hbm.xml里

<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

这个声明有问题

用下面这个解决问题

<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.NET/hibernate-configuration-3.0.dtd">

如果不行,则是颠倒过来,即如果原来使用

<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
则用

<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

6、Cannot change version of project facet Dynamic Web Module to3.0. 和 One or more constraints have not been satisfied.

需要修改 project的 properties的 project facts的 Dynamic Web Moudle Version版本和 web.xml中的版本一直,然后在通过maven update

以下为 web.xml的各个版本:

web.xml v2.3

[xml] view plaincopy

1.      <?xml version="1.0" encoding="ISO-8859-1"?>

2.     <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

3.

4.     <web-app>

5.

6.     </web-app>

web.xml v2.4

[xml] view plaincopy

1.      <?xml version="1.0" encoding="UTF-8"?>

2.     <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4.         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

5.

6.     </web-app>

web.xml v2.5

[xml] view plaincopy

1.      <?xml version="1.0" encoding="UTF-8"?>

2.     <web-app xmlns=<a target="_blank" href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a>

3.      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

5.      version="2.5">

6.

7.      </web-app>

web.xml v3.0

[xml] view plaincopy

1.      <?xml version="1.0" encoding="UTF-8"?>

2.

3.      <web-app

4.             version="3.0"

5.              xmlns="http://java.sun.com/xml/ns/javaee"

6.             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

7.              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

8.

9.      </web-app>

7、An internal error occurred during:"Updating MavenProject"

mvn archetype:generate -DgroupId=com.mkyong -DartifactId=HibernateExample -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

) --java  application

mvn archetype:generate -DgroupId=com.mkyong -DartifactId=HibernateExample -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

) --java  web application

命令行创建 maven 项目转为 eclipse项目时,在eclipse中打开存在的maven项目,不能通过 maven update解决:

问题提示:An internal error occurred during:"Updating MavenProject"
解决:
1、把该项目从eclipse中删除,不要删除掉项目文件(只是从eclipse项目视图中删除);
2、进入cmd ,然后进入到该项目目录下比如:E:\workspace\mavenProject ,其中mavenProject为项目名称;
3、执行命令:mvneclipse:clean;
4、检查项目目中是否还存在 .classpath、.project、.settings ,如果存在,则删除掉;
5、通过右键-->import-->Existing Maven Projects,重新导入即可。

8、

hibernate   java.lang.UnsupportedOperationException: The user must supply a JDBC connection

是 hibernate的配置文件hibernate.cfg.xml配置存在问题,检查数据连接的driver_class、url、username、root等参数名及参数值是否正确

 9、MySQL 中,如果hibernate的主键用 uuid.hex,报异常如下:

java.sql.BatchUpdateException: Data truncation: Data too longfor column ‘SID‘ at row 1 .

解决:
  修改mysql的字符集和创建表的一样即可,比如创建表 create table aa() default charset=utf8 ;
  
  那么通过命令:set names utf8 ; ,修改 mysql的字符集;

重新运行程序即可。

10、maven 在 eclipse中创建maven project报一下错误解决:

Could not resolvearchetypeorg.apache.maven.archetypes:maven-archetype-quickstart:RELEASE fromany of theconfigured repositories.

Could not resolve artifact

Failed to resolve versionfororg.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Couldnotfindmetadataorg.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xmlinlocal (E:\maven3\repository)

Failed to resolve versionfororg.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Couldnotfindmetadataorg.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xmlinlocal (E:\maven3\repository)

解决思路:

a、修改conf/settings.xml,在<mirrors>…</mirror>中间加入以下内容:

<mirror>

<id>ibiblio.org</id>

<name>ibiblio Mirror ofhttp://repo1.maven.org/maven2/</name>

<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>

<mirrorOf>central</mirrorOf>

<!-- UnitedStates, North Carolina-->

</mirror>

<mirror>

<id>cica.es</id>

<url>http://ftp.cica.es/mirrors/maven2</url>

<mirrorOf>central</mirrorOf>

<!-- Spain,Sevilla -->

</mirror>

<mirror>

<id>skynet.be</id>

<url>http://maven2.mirrors.skynet.be/pub/maven2</url>

<mirrorOf>central</mirrorOf>

<!-- Belgium-->

</mirror>

b、如果机器使用代理,则需要修改代理信息,在<proxies>…</proxies>之间加入

<proxy>

            <id>my-proxy</id>  <!—起一个名字-->

            <active>true</active> <!—固定为true-->

            <protocol>http</protocol><!—固定为http-->

      <username>user</username><!—如果不需要设置,则屏蔽掉username属性—>

     <password>pwd</password><!—如果不需要设置,则屏蔽掉password属性—>

            <host>10.17.75.2</host><!—代理服务器地址-->

       <port>3128</port><!—代理服务器端口-->

           <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>

 </proxy>

 11、eclipse 执行 mvn install的时候报如下错误
[ERROR] Failed to parse plugin descriptor fororg.apache.maven.plugins:maven-install-plugin:2.3.1(E:\maven3\repository\org\apache\maven\plugins\maven-install-plugin\2.3.1\maven-install-plugin-2.3.1.jar):error in opening zip file -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -eswitch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, pleaseread the following articles:
[ERROR] [Help 1]http://cwiki.apache.org/confluence/display/MAVEN/PluginDescriptorParsingException

解决方法:

删除:E:\maven3\repository\org\apache\maven\plugins\maven-install-plugin\2.3.1目录,操作后:E:\maven3\repository\org\apache\maven\plugins\maven-install-plugin\下没有2.3.1目录,然后重新执行 mvn Install ;

如果执行 mvn Clear存在相同问题,这只需要删除对应的目录,让Maven重新下载对应的jar即可。

Cannot change version of project facet Dynamic Web Module to 3.1 (Eclipse Maven唯一解决方案)

If you want to use version 3.1 you need to use the following schema:

Note that 3.0 and 3.1 are different: in 3.1 there‘s no Sun mentioned, so simply changing 3_0.xsd to 3_1.xsd won‘t work

de><?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"></web-app>de>

Also, make sure you‘re depending on the latest versions in your pom.xml. That is,

de><plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-war-plugin</artifactId>    <version>2.4</version>    <configuration>        ...    </configuration></plugin>de>

and

de><dependency>    <groupId>javax.servlet</groupId>    <artifactId>javax.servlet-api</artifactId>    <version>3.1.0</version>    <scope>provided</scope></dependency>de>

Also, you should compile with Java 7 or 8:

de><plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <version>3.1</version>    <configuration>        <source>1.7</source>        <target>1.7</target>    </configuration></plugin>de>
时间: 2024-11-05 11:42:24

关于Maven报错的一些解决办法(别处贴的)的相关文章

【maven】 pom.xml内容没有错,但一直报错红叉 解决办法

[架构设计][maven] pom.xml内容没有错,但一直报错红叉 解决办法 [maven] pom.xml内容没有错,但一直报错红叉 解决办法 1.首先看一下下面的这两个项目,一个是新建的,一个是原来的老项目 2.myEcplise中是点击如下图 Maven4MyEcplise, Ecplise中也是右键,只不过点击Mavene而已,两个一样 3. 强制更新Maven 4.一会 红叉就消失了

导入项目@Override报错原因及解决办法

从别人那里拷贝来的项目,在人家的环境里没有错误,可是导入到自己本地工程之后报错,删除掉@Override注解后就不报错,导致该原因的是本地工程的JDK版本未更新. 解决办法:调整JDK版本 如此即可解决.

Navicat11.1连接Mysql8.0报错1251的解决办法

今天下载mysql-8.0.13,完成配置及正常启动后,Navicat11.1工具连接时总报错:1251,找到解决办法主是要mysql8的加密方式不同.具体解决办法如下:一.管理员权限打开CMD,输入mysql的root帐号及密码: D:\mysql8>mysql -u root -p输入root的密码回车二.更改mysql的方式:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVE

spring整合hibernate,在获取sessionFactory的时候报错,求解决办法!!

applicationContext.xml文件 <!-- 开启扫包 --> <context:component-scan base-package="cn.edu"></context:component-scan> <!-- 配置sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate

MySQL中出现Multiple primary key defined报错提示之解决办法

创建主键可以有两种方式: create table 表名(字段名 类型,字段名 类型,--primary key(name)); 或者是 create table 表名(字段名 类型 primary key,字段名 类型,--); 但是要注意的是,想要创建复合主键,就不可以用第二种方式.下面列举一个小例子:这里报错Multiple primary key defined,表示定义了多个主键,正确的写法是如下:如果项设置复合主键,复合主键的特点是同时创建.同时删除,所以需要把主键删除,但是这里设置

Qt编译目录下exe文件执行报错问题的解决办法

使用Qt5.9.3+vs2017环境,编译项目生成Debug目录,运行其中的exe文件,出现以下错误(qt creator调试状态下或出安装包后是可以运行的): 经过查阅资料,发现是我重新配置Qt开发环境后忘记配置环境变量.当我们用Qt Creator直接运行时,不报错是因为Creator自己去找对应的dll,但直接运行debuge目录下的exe时,其只会在当前exe运行目录以及window环境变量目录中去找dll.当找不到时程序就会提示无法找到xxx.dll. 操作步骤如下: 1.双击编辑系统

python3 Django 报错RuntimeWarning的解决办法

我们在shell下运行Django的时候遇到这样的报错: C:\python\python3\lib\site-packages\django\db\backends\sqlite3\base.py:57: RuntimeWarning: SQLite received a naive datetime (2018-09-26 17:35:53.152861) while time zone support is active. RuntimeWarning) 这个原因是我们在sitting.p

关于引用cube-ui 报错./cubeic.ttf 解决办法

安装cube-ui 错误如图 解决办法 cnpm install babel-plugin-transform-modules -D 配置.babelrc { "plugins": [ ["transform-modules", { "cube-ui": { "transform": "cube-ui/lib/${member}", "kebabCase": true, "st

在win8系统下,安装TortoiseGit报错2503的解决办法

win8上安装tortoisegit1.8.12 64位时无法安装,报2503错误.查资料,经测试后可以安装. 这是Win8系统的权限问题,可以如下解决: 1.运行CMD(管理员权限): 在桌面直接使用 WIN+X 组合键 在弹出菜单目录中选择 运行命令提示符(管理员) : 也可以在桌面直接使用 WIN+X+A 组合键操作: 2.输入以下命令: msiexec /package "你安装程序包的路径"(例如:msiexec /package "d:\soft\Tortoise