将普通web项目转maven项目

来源:互联网 发布:linux ctrl alt f2 编辑:程序博客网 时间:2024/05/18 02:51

在eclipse下将普通web项目转成maven项目,web项目目录结构如图


操作:configure-->Convert To Maven Project.

在pom.xml文件中导入项目所需的所有包依赖。

在操作中遇到的问题:

1.在pom.xml文件中,<execution>.......</execution>改标签处报错,解决办法,在<build></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.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<versionRange>[1.0-alpha-1.0,)</versionRange>
<goals>
<goal>native2ascii</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.8,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>

2.因为我们普通的web项目对jar包的管理是放在WEB-INF/lib下的,下面介绍将依赖的jar包copy到WEB-INF/lib目录下,<plugins></plugins>标签中添加如下代码:

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeScope>provided</excludeScope>
<outputDirectory>WebContent/WEB-INF/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>

如下图,红色框中的就是你想要将jar复制到的路径


3.在添加新的类、文件时,WebContent/WEB-INF/classes下的class文件没有及时更新,解决办法,在pom文件加上如下代码:

<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
</configuration>
</plugin>

当我们maven package 时,class文件就更新了,代码截图如下:


4.在jsp页面获取后台数据问题,由于后台方法没有@ResponseBody,导致我直接访问地址是说找不到页面,如图


这是由于springmvc处理请求时,通过视图解析器找到的是页面返回给用户,而使用了@ResponseBody注解,将Controller方法中返回的对象通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据,当我们的方法返回的不是html标签的页面,而是其他格式数据(如json、xml等)时,可以使用该注解。后台对应方法截图如下:


上面就是目前遇到的问题,以后有其他问题再续。。。。。

0 0
原创粉丝点击