Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

时间:2021-04-03 09:22:21

Eclipse从SVN检出maven项目后的一些配置

Eclipse从SVN检出maven项目后,会发现它只是一个普通的java project,如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

这里我们需要把它转成maven-webapp,并调整相关属性,设置运行环境,关联相关jar目录等。

 

个人环境:

eclipse4.4 Luna   JDK7    Tomcat7    Maven3.1

 

方法:

1、转换成Maven Project

右键项目>Confirgue >Convert to Maven Project,如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

这样我们就将其转化成了Maven Project,如图,项目icon上多了一个M

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

2、将此Maven Project转换成Maven-webapp

右键项目> Properties > Project Facets ,如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

点击右侧的Convert to faceted from… 进入Project Facets界面。

这个界面的用途,简单理解就是用来配置我们的web Project需要用到的各个服务,而每个服务eclipse都提供了一套模板,每个模板又有其版本。

 

在Project Facet下勾选中 Dynamic Web Module,我准备用tomcat7,安装的也是jdk7,所以对应的右侧Version 选择 3.0。

 

-------------这段可以不看begin--------------

Dynamic web module version字面意思是动态web模块版本。

因为java的web系统有多种类型,比如静态的和动态的,动态的java web project要设置Dynamic Web Module,也就是动态网页模型,这是必须要和对应的web容器搭配好了项目才能跑。

dynamic web module 2.4  对应Tomcat 5.5;

dynamic web module 2.5  对应Tomcat 6.0;

dynamic web module 3.0 对应Tomcat 7.0;

更高版本的dynamic web module对与解析更高版本的js有着更高的效率或者其他改进之处。

补充几个:

Tomcat version 5.5 only supports J2EE 1.2, 1.3, 1.4 Web modules
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules

-------------这段可以不看end--------------

 

Java对应的 Version为1.7

顺便勾选JavaScript ,对应的Version 为 1.0

如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

最后不要忘记点击下方的 Further configuration available,这是额外配置,进去如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

一般来说,我们用eclipse建立的普通的 Java Web Project,eclipse会自动生成一个WebContent目录,动态网页及 web.xml也会放入这个目录,但Maven的页面资源和web.xml是放在src/main/webapp下。

因此我们的Content directory改成src/main/webapp

项目中已存在web.xml,所以不勾选下方的Generate web.xml deployment descriptor

 

之后点击ok,再点击Apply 应用配置,此Maven Project就转成了Maven webapp。

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

3、用Maven更新项目,让Maven下载项目所依赖的jar

在这之前需先在机器上安装好Maven,这点请自行百度。

更新项目:

右键项目> Maven > Update Project,进入Update Maven Project,注意选中ForceUpdate…强制更新,点击ok进行更新。如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

4、配置Java Build Path

右键项目> Properties > Java Build Path > Libraries,添加 JRE Library,如图:

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

本人安装的是JRE7,项目的是JRE6所以选中JRE System Library > 右边的 Edit > 选择WorkSpace default JRE > Finish > ok

 

添加Server Runtime(在这之前需先配置好Tomcat等web Server),即是添加 Servlet-api.jar依赖:

Add Library > Server Runtime > next > Apache Tomcat v7.0 > Finish > ok

 Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

 

 

5、配置Java Compiler

右键项目> Properties > Java Compiler,选择当前环境对应的 JRE1.7,ok保存

 Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

 

6、在Deployment Assembly添加Maven依赖

右键项目> Properties > Deployment Assembly > Add > Java Build Path Entries > next > Maven Dependencies > Finish > ok , 如图

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目

 

 

至此,所有配置已经完成,项目可以正常使用了。

Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目


可能也会出现以下的错误,按实际情况来解决。

问题1:
1). The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path     index.jsp     /user_cms/src/main/webapp  

2). javax.servlet.jsp cannot be resolved to a type     main.jsp     /midware_web/src/main/webapp/WEB-INF/view/common/decorators     line 14     JSP Problem

解决方法:
1).
 
Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目 
2).选择项目->properties->project facets修改java版本和Dynamic web module 
Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目 

同时修改项目路径文件
工程路径\.settings\org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?> 
<faceted-project> 
  <fixed facet="wst.jsdt.web"/> 
  <installed facet="java" version="1.7"/> 
  <installed facet="jst.web" version="3.0"/> 
  <installed facet="wst.jsdt.web" version="1.0"/> 
</faceted-project> 

3).修改properties->java compiler中java版本
Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目 

4).解决只显示resource文件
Eclipse从SVN检出maven项目后没有jar包,报错,不显示是maven项目 

问题2:Maven项目,右键-update project后报错如下的解决办法: 
1)、DescriptionResourcePathLocationType
Java compiler level does not match the version of the installed Java project facet.SSMDemo Maven WebUnknownFaceted Project Problem (Java Version Mismatch)
2)、DescriptionResourcePathLocationType
JAX-RS (REST Web Services) 2.0 requires Java 1.7 or newer.SSMDemo Maven Webline 1Maven Java EE Configuration Problem
3)、DescriptionResourcePathLocationType
One or more constraints have not been satisfied.SSMDemo Maven Webline 1Maven Java EE Configuration Problem
4). Type One or more constraints have not been satisfied.
解决办法:在pom.xml配置文件中加入如下语句:
<plugins>  
<plugin>  
<groupId>org.apache.maven.plugins</groupId>  
<artifactId>maven-compiler-plugin</artifactId>  
<configuration>  
<source>1.7(JDK的版本)</source>  
<target>1.7(JDK的版本)</target>  
</configuration>  
</plugin>  
</plugins>   


问题3:启动tomcat的时候就报错“Server Tomcat v7.0 Server at localhost failed to start.”
解决办法:
1).把你工作空间文件夹下的如下路径打开: 
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources 
然后删除 .snap 文件,我在eclipse打开的情况下有这个.snap文件,但是当我关闭eclipse再看这个文件夹的时候,发现.snap文件不见了,所以这个办法没有使用成功,网上说有人使用成功了。大家可以试一下。 
2).把你工作空间文件夹下的如下路径打开: 
<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core 
删除里面的temp*文件夹,我这有temp0和temp1,可能是一个tomcat对应一个temp吧,不太清楚,删除后重启eclipse,tomcat就可以用了。