2014-01-08 54 views
0

我最近試圖搭建網絡應用程序使用Spring MVC。我Maven的做到了這個:如何使用Spring MVC + Maven + Tomcat構建正常項目?

mvn archetype:generate 
-DgroupId={package} 
-DartifactId={project name} 
-DarchetypeArtifactId=maven-archetype-webapp 
-DinteractiveMode=false 

乍一看,它看起來不錯。此項目基於Java EE 6,因爲我使用的是Tomcat 7版本。也正是基於對:

  • JDK 1.7
  • NetBeans IDE的7.3.1
  • Spring MVC框架3.0.0.RELEASE
  • 的web.xml與調度版本描述3.0(也試用2.5)

所有結果是:Tomcat找不到它。看起來我的項目是隱形的。 我試圖運行它像這樣的maven:mvn tomcat:run,但它只是建立它!

我不知道該如何解決這個問題,而且由於這種瘋狂,它開始令我煩惱。

任何想法如何使項目可見的先生嗎?

感謝

[pom.xml中]

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.spring</groupId> 
    <artifactId>Springmvc</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>Springmvc</name> 

    <properties> 
     <spring.version>3.0.5.RELEASE</spring.version> 
    </properties> 
    <dependencies> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>6.0</version> 
      <scope>provided</scope> 
     </dependency> 

       <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArguments> 
         <endorseddirs>${endorsed.dir}</endorseddirs> 
        </compilerArguments> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.1</version> 
       <executions> 
        <execution> 
         <phase>validate</phase> 
         <goals> 
          <goal>copy</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${endorsed.dir}</outputDirectory> 
          <silent>true</silent> 
          <artifactItems> 
           <artifactItem> 
            <groupId>javax</groupId> 
            <artifactId>javaee-endorsed-api</artifactId> 
            <version>6.0</version> 
            <type>jar</type> 
           </artifactItem> 
          </artifactItems> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

您可以發佈您的pom.xml? –

回答

2

您必須添加Tomcat的插件依賴性調用mvn tomcat:run。嘗試將此添加到您的pom.xml中:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
</plugin> 

之後,嘗試再次運行mvn tomcat:run

更多信息:

http://tomcat.apache.org/maven-plugin-2.2/run-mojo-features.html

+0

此外,剛纔我注意到我在netbeans中發出警告:警告:選擇的war文件包含一個將被忽略的WEB-INF/web.xml (webxml屬性從war任務中缺失,或ignoreWebxml屬性被指定爲true ') – solvator

+0

看看http://stackoverflow.com/questions/5351948/webxml-attribute-is-required-error-in-maven –

+0

現在我得到例外,8080端口已被使用。試圖解決這個問題.. – solvator