SSM框架實戰系列之六_基於Maven的Web項目的運行與調試

  SSM框架實戰系列之六_基於Maven的Web項目的運行與調試


  一、項目的自動編譯

  我們觀察一下生成的Web項目,切換到Navigator視圖可以看得更清楚:


  發現在main目錄下還缺少一個java目錄,這應該是模板的問題,所以我們需要手動創建一個java目錄。


  在main目錄上右鍵點擊,選擇New->Folder,創建一個java子目錄。

  然後在項目上右鍵點擊,選擇Properties,設置項目的Deployment Assembly(部署程序集),如下圖:


  Maven根據這裏的設置進行自動生成,例如將webapp目錄中的內容直接輸出到Web項目的根目錄,將java和resources目錄中的內容輸出到Web項目的WEB-INF/classes目錄。

  如果還有問題,再檢查一下Java Build Path的設置:



  二、項目的運行

  下面我們要讓這個Web項目跑起來。Maven可以幫助我們自動編譯,並將Web項目部署到Web服務器中。


  首先,添加一個Tomcat服務器。調出Server視圖,在視圖空白處右鍵點擊,選擇New->Server,創建一個Tomcat7服務器。



  由於項目的pom.xml中有指定項目的構建信息:

	<build>
		<finalName>ssmprj</finalName>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.0</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<port>8080</port>
					<path>/ssmprj</path>
					<uriEncoding>UTF-8</uriEncoding>
					<finalName>ssmprj</finalName>
					<server>Tomcat v7.0 Server at localhost</server>
				</configuration>
			</plugin>
		</plugins>
	</build>
  第一個plugin(插件),是編譯插件,其中指定JDK版本爲1.7;第二個插件,是Maven和Tomcat7的集成插件,指定了Tomcat服務器的各項信息。


  有這些信息,Maven就可以自動編譯,並將Web項目部署到Tomcat服務器中。


  在項目上右鍵點擊,選擇Run As->Maven Build,就可以完成自動構建、部署Web項目、啓動Tomcat服務器的一套自動流程:


  在彈出窗口中,輸入tomcat7:run,點擊Run,即可完成自動部署。


  以後每次需要啓動Tomcat,都可以用同樣的方式(即Run As->Maven Build)。


  打開一個瀏覽器,輸入http://localhost:8080/ssmprj,即可看到首頁內容。


  啓動過程的控制檯輸出如下:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ssmprj 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat7-maven-plugin:2.1:run (default-cli) > process-classes @ ssmprj >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ ssmprj ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.0:compile (default-compile) @ ssmprj ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] <<< tomcat7-maven-plugin:2.1:run (default-cli) < process-classes @ ssmprj <<<
[INFO] 
[INFO] --- tomcat7-maven-plugin:2.1:run (default-cli) @ ssmprj ---
[INFO] Running war on http://localhost:8080/ssmprj
[INFO] Using existing Tomcat server configuration at E:\javaprj\ssmprj\target\tomcat
[INFO] create webapp with contextPath: /ssmprj
十一月 21, 2017 11:32:46 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
十一月 21, 2017 11:32:46 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Tomcat
十一月 21, 2017 11:32:46 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.37
十一月 21, 2017 11:32:50 上午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
十一月 21, 2017 11:32:50 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]


  三、項目的調試

  這裏再介紹另一種部署項目的方式。


  雙擊Server視圖中的Tomcat7服務器,可以看到Tomcat服務器的設置界面:



  切換到Modules頁,爲Tomcat服務器配置Web模塊:



  這樣,當Tomcat服務器啓動時,就會加載配置好的Web模塊。

  我們可以選中Tomcat服務器,並以Debug方式啓動它,之後就可以方便地設置斷點進行調試了。

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