1. 程式人生 > >maven web 專案部署到tomcat 下面無web.xml檔案

maven web 專案部署到tomcat 下面無web.xml檔案

發現問題的原因:寫了一個簡單的Spring MVC 專案,web.xml,springmvc.xml 配置都是對的,專案部署到tomcat下面啟動正常,無任何錯誤,但是啟動tomcat 後,通過瀏覽器訪問controller,但是無論如何都無法訪問,tomcat無任何日誌。pom.xml 關於build部分的設定如下:

<build>
    	<finalName>yt-web-cloud-sound</finalName>
		<sourceDirectory>src/main/java</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
					<compilerArguments>
						<verbose />
						<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
					</compilerArguments>
				</configuration>
			</plugin>
		<plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <warSourceDirectory>webapp</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
		</plugins>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
					<include>**/*.tld</include>
				</includes>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
					<include>**/*.tld</include>
				</includes>
				<filtering>false</filtering>
			</resource>
		</resources>
	</build>

這裡:<warSourceDirectory>webapp</warSourceDirectory> 指定了web 的根目錄,然後我再網上搜索說加上:
<configuration>
          <warSourceDirectory>webapp</warSourceDirectory>
          <webXml>webapp/WEB-INF/web.xml</webXml>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
這裡指定載入web.xml ,但是install 後發現找不到該web.xml,然後我仔細看下了專案結構,發現webapp在src目錄下面,沒有在根目錄下面:


接下來我把webapp剪下到專案根目錄下後,再重新install ,一切正常。

這說明按照myeclipse新建的maven web 專案的目錄結構是不對的,需要手動設定專案的結構