myeclise中创建maven web程序

myeclipse自带了许多插件,因此使用频率很高,但是对maven框架下web程序似乎不是很好的支持,每次创建web程序总是会报一大堆的异常,因此特此记录一下如何在myeclipse下创建一个web工程。

1、创建一个maven项目,File→New→Project→Maven Project。

2、点击next,出现如下界面,注意不要选择第一个勾和第三个勾,第二个勾是用来选择工程目录,可以根据个人需要选择。然后再点击next。

3、选择Artifact Id为maven-archetype-webapp的一行,然后next。

4、设置工程的Group Id、Artifact Id、Version、Package,然后点击finish。

5、创建好的工程会如下图所示,项目左上角有一把小×

6、右键创建好的项目,选择Properties选项,然后选择Java Build Path→Source,可以如下图看到Source folders on build path下的第一行有个小×,这把×的意思是找不到src/main/java目录。

 

7、选中第一行,然后点击左侧的Remove,再点击Add Folder,出来如下页面,可以看到这里在src/main下没有java文件夹(在上一步被我们删掉了),然后点击Create New Folder,在弹出框中输入"src/main/java",再点击finish,然后点击ok,就可以看到src/main/java文件夹了,而且没有报错。

8、同理处理下面的src/test/java文件夹找不到的问题。

但要注意,不要让test下的java文件和main下的java文件编译在一个目录中。点击Output folder:,再点击edit,就可以看到它的输出目录。一般情况下,默认的是/targer/classes,这是主代码的存放目录,因此我们需要勾选下面一行,然后输入"target/test-classes",表示把test下的java文件编译后输出在/target/test-classes文件夹中。

9、然后再找到我们工程中报错的地方,index.jsp。这是由于工程中没有servlet的jar包,无法编译jsp文件(jsp文件会先被编译成class,实际上是由servlet输出在前端),在pom.xml中添加dependency。

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

10、最后一步,右键项目→Maven4MyEclipse→Update Project,勾选中对应的项目,然后点击ok。最后项目结构如下图。

11、注意你的maven版本,部分maven需要对应更高版本的jdk,如果运行程序提示jdk版本有问题,可以选择更换maven版本,或者使用最新的jdk也可以。

 

 

注意:

部分项目在被创建后,pom.xml中报错

错误信息为:

需要在pom的build内添加如下代码即可

<pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-resources-plugin</artifactId>
                                    <versionRange>[2.0,)</versionRange>
                                    <goals>
                                        <goal>resources</goal>
                                        <goal>testResources</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

 

posted @ 2018-03-27 15:06  一响贪欢  阅读(551)  评论(0编辑  收藏  举报