將普通web項目轉maven項目

在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等)時,可以使用該註解。後臺對應方法截圖如下:


上面就是目前遇到的問題,以後有其他問題再續。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章