2014-01-08 5 views
0

Я недавно попытался создать web-app используя 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 IDE 1,7
  • NetBeans 7.3.1
  • Spring MVC Framework 3.0.0.RELEASE
  • web.xml описано с диспетчером версии 3,0 (также испробовано с 2,5)

И весь результат: Tomcat не находит его. Похоже, мой проект невидим. Я попытался запустить его через maven вот так: mvn tomcat:run, но он просто строит его!

Я не знаю, как это исправить, и это начинает раздражать меня из-за этого безумия.

Любые идеи, как сделать проект видимым для mr.Tomcat?

Благодаря

[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: Предупреждение: выбранные военные файлы включают WEB-INF/web.xml, которые будут игнорироваться (атрибут webxml отсутствует в военной задаче или атрибут ignoreWebxml указан как «true ') – solvator

+0

Взгляните http://stackoverflow.com/questions/5351948/webxml-attribute-is-required-error-in-maven –

+0

Теперь я получаю исключение, порт 8080 уже используется. Попытка решить эту проблему. – solvator

Смежные вопросы