在eclipse使用maven构建web项目遇到的问题

要不要跳过骨架
选择不跳过骨架,就是把下面单选框勾上,之所以跳过骨架是因为这样创建出来的项目目录比较完整
在eclipse使用maven构建web项目遇到的问题_第1张图片


缺失web.xml文件报错
做为一个web项目,没有web.xml文件,pom.xml文件会报错,这时只要webapps下面添加WEB-INF文件夹然后新建web.xml文件就可以了
在eclipse使用maven构建web项目遇到的问题_第2张图片


在源码新建servlet报错
错误提示:找不到javax.servlet.api包
解决办法:在pom.xml依赖

<dependency>
        <groupId>javax.servletgroupId>
        <artifactId>servlet-apiartifactId>
        <version>2.5version>
        <scope>providedscope>
 dependency>

然后,点击项目右击,选择maven,update project,更新项目,每次更改pom.xml都应该重新加载一下项目,此时servlet文件仍然提示找不到包,这时点开maven dependies发现地下有servlet.api的包,但是依然提示找不到包.
在eclipse使用maven构建web项目遇到的问题_第3张图片
这时候我把版本更改为3.0,让重新加载项目,但是发现报错,在maven dependies没有发现servlet.api包,然后打开\javax\servlet\servlet-api\3.1.0 发现servlet-api-3.1.0.pom.lastUpdated,这个文件,说明包没有下载下来

这时候我打开Tomcat 8.0安装目录,lib目录下找到servlet-api拷贝到上面的路径下。
当然把servlet.api改成servlet-api-3.1.0.jar,然后再更新项目发现servlet就不会再报错找不到包,因为Tomcat7.0以上所使用的servlet.api就是3.0所以拷贝过来使用没问题
在eclipse使用maven构建web项目遇到的问题_第4张图片


总结上面那一点当遇到jsp-api,servlet-api问题
主要是你在pom.xml中选择的版本和你所使用的Tomcat版本不一样,最好的解决办法是使用和你Tomcat版本的一样,如果包下载不下来可以在Tomcat的安装目录进行拷贝
在eclipse使用maven构建web项目遇到的问题_第5张图片


添加必要插件
当你新建一个maven项目默认使用的jdk版本是1.5,和你所使用的版本不一致,这时可以更改为你所使用的版本,在pom.xml添加如下代码,

<build>
    <finalName>mavenTest1finalName>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.3version>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                    <encoding>UTF-8encoding>
                    <showWarnings>trueshowWarnings>
                configuration>
            plugin>
        plugins>
    pluginManagement>
build>
注意添加在“<dependencies>dependencies>”之外

“<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.3version>”配置你所使用的maven版本

新建另一个maven web发现路径不对
在eclipse使用maven构建web项目遇到的问题_第6张图片

勾选使用默认空间路径时,如果发现location路径不是在工作空间 d:project下,此时不要紧,可以继续构建,当构建完成后你会发现,项目还是在d:project下面,在这里只是显示有误而已


你可能感兴趣的:(问题总结)