Eclipse+Maven 问题解决方法

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

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

javacompilerfaceteclipsepropertiesjdk问题现象:项目图标报错“Java compiler level does not match the version of the installed 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 to 3.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 plain copy

  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. <web-app>
  4. </web-app>

web.xml v2.4

[xml] view plain copy

  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. </web-app>

web.xml v2.5

[xml] view plain copy

  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. </web-app>

web.xml v3.0

[xml] view plain copy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app
  3. version="3.0"
  4. xmlns="http://java.sun.com/xml/ns/javaee"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  7. </web-app>

7、An internal error occurred during:"Updating Maven Project"

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 Maven Project"
解决:
1、把该项目从eclipse中删除,不要删除掉项目文件(只是从eclipse项目视图中删除);
2、进入cmd ,然后进入到该项目目录下比如:E:\workspace\mavenProject ,其中mavenProject为项目名称;
3、执行命令:mvn eclipse: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 long for column ‘SID‘ at row 1 .

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

重新运行程序即可。

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

Could not resolve archetypeorg.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of theconfigured repositories.

Could not resolve artifact

Failed to resolve version fororg.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could notfind metadataorg.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml inlocal (E:\maven3\repository)

Failed to resolve version fororg.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could notfind metadataorg.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml inlocal (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>

<!-- United States, 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 for org.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 -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read 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即可。

时间: 2024-10-14 12:35:54

Eclipse+Maven 问题解决方法的相关文章

附:02 eclipse常见问题解决方法

一.出现"Location of the Android SDK has not been setup in the preferences" 当新建一个工作区间时,android项目时出现"Location of the Android SDK has not been setup in the preferences"时,是因为没有设置SDK的位置,window->preferences->android->SDK Location里面选择你的

Eclipse maven工程 Missing artifact com.sun:tools:jar:1.5.0:system 解决方法

今天同事在使用eclipse,引入一个新的maven工程时报错:      Missing artifact com.sun:tools:jar:1.6.0:system   这个问题很奇怪,相同的代码,运行到我本地的Eclipse中时,没有发现问题,说明应该是环境配置的问题.(JDK?maven,Eclipse?) 从网上找了很多资料,发现大家大部分都只给出了解决方案,没有给出出现此问题的原因. 从maven的官网上看:http://maven.apache.org/general.html#

eclipse maven update error 解决方法

eclipse  maven  update error 解决方法 本来真不想写这篇博文的,但是eclipse和maven真的是太操蛋了,动不动就出了一些乱七八糟的问题,记录一下.希望公司能早日切换到idea. 1. 从eclipse删除这个项目,但不要从磁盘删除: 2. 关闭eclipse: 3. 删除项目目录下的:.settings目录: 4. 删除项目目录下的:.projects目录: 5. 删除项目目录下的:.metadata目录: 6. 重启eclipse: 7. 导入项目,并且在导入

用Eclipse+Maven+Jetty构建Java Web开发环境(综合几篇教程整合2014年版)

工作需要用到Jetty作为web容器,得知Eclipse+Maven+Jetty的组合很不错,因此到网上查找了很多教程,但是或多或少写的不详细或者有过时的内容在里面导致最后配置失败,为了以后同事配置方便,写下这篇配置教程,顺便来方便一下大家. 用到的参考资料如下: [用Maven构建Java Web开发环境(Jetty容器)](以此教程为主)http://sarin.iteye.com/blog/784275 以及 http://sarin.iteye.com/blog/784697 [在Ecl

Ubuntu遇到Please ensure that adb is correctly located at &#39;...adb.exe&#39; and can be executed 问题解决方法

上次我们在SDK更新的到最新的Android L版本之后,我发现我的ADT和android指定的版本不对应,我的ADT是22版本的,android L需要23版本以上的,版本不对应的话就无法加载这个SDK进去,通过上网查一下说是修改Android SDK目录下tolols目录下libs目录中plugin.prop这个文件,该文件打开一看就很容易知道要修改的是plugin.version=23.0.0这个,把它改成22就可以了,我改之后加载还真的是可以了,但是一个麻烦的问题又混淆我了,在运行项目的

eclipse maven编译项目

我们知道,在用eclipse写项目时,可以用debug进行热部署,即你改了java文件也能不重新启动,就能自动编译,但在你保存文件时,eclipse是再次编译一次,并不会删掉用掉的内存,好像是新生带,这样的话,你多保存几次,就会造成内存溢出. 另外一种编译方法,即用maven编译:这样也能改了java文件也能及时编译,增加的内存只是重新编译你改变的文件而已, 具体方法: 选择debug configurations goals:输入tomcat:run base directory 选择brow

eclipse+maven+tomcat构建web工程

我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的安装与配置参见"m2eclipse安装与配置" tomcat:版本为apache-tomcat-6.0.37(即tomcat6.x系列,本文安装在D:\work\tomcat6\apache-tomcat-6.0.37-maven) 2.建立web应用 我们使用eclipse建立maven

用Eclipse Maven 创建 Web 3.0 项目问题 正确的处理步骤

在Eclipse 安装好Maven插件后,创建Maven webapp项目,在工程 properties -> project facets 界面中将 Dynamic Web Module 修改为 3.0 时,Eclipse 总是提示  Cannot change version  to Dynamic WebModule 3.0. 代码没有红叉叉, 但是整个工程目录上有红叉叉, 很不爽,很不爽.很不爽. 网上大多数的解决方法都是 找到 .setting文件夹内的org.eclipse.wst.

Eclipse maven问题汇总

在使用eclipse+maven的过程中,遇到一系列问题,先汇总记录如下: 1. 在java工程中,缺少Maven依赖: 这个问题比较棘手,一般都对eclispe的工程结构不是很了解,后来经过长时间的排查,发现在工程路径下有一个.classpath文件,正常情况下,这个文件是这个样子: <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind=&quo