如何在IDEA中正确运行maven Web项目?

时间:2012-10-09 08:34:35

标签: java maven intellij-idea

我是使用maven和想法的新手。我通过了所有直观的步骤来运行web项目,但是有404页面(如果我在Idea中用作一个简单的web项目,这个应用程序运行良好)。 pom文件如下:

<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.home.myapp</groupId>
 <artifactId>MyApp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>MyApp</name>
  <url>http://maven.apache.org</url>
  <properties>
<spring.version>3.1.1.RELEASE</spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
  <dependencies>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</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-jdbc</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>${spring.version}</version> 
</dependency> 
<dependency>    
    <groupId>commons-logging</groupId>  
    <artifactId>commons-logging</artifactId>  
    <version>1.1.1</version>  
</dependency>
<dependency>    
    <groupId>commons-io</groupId>  
    <artifactId>commons-io</artifactId>  
    <version>2.3</version>  
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
  </dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>
  </dependencies>
  <build>
  <pluginManagement>
  <plugins>
      <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>tomcat-maven-plugin</artifactId>
          <configuration>
                  <server>apache-tomcat-7.0.25</server>
                  <url>http://localhost:8080/manager</url>
                  <path>/</path>
              </configuration>
          </plugin>
      </plugins>
  </pluginManagement>

您能否告诉我我的错误或建议我可以找到解释的文章?

3 个答案:

答案 0 :(得分:1)

不太确定这个想法,但通常一个网络项目会有包装类型的战争,而不是jar。

还要研究maven war插件,以便了解要添加的文件和文件夹。

您可以通过使用maven原型创建示例应用来研究这一点。然后使用工具比较样本源和您自己的样本源。

答案 1 :(得分:1)

正如其他人所说,你需要一个战争包装。确保使用maven原型启动项目,请参阅http://maven.apache.org/guides/mini/guide-webapp.html

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

确保你可以建立一场战争:

mvn clean install

现在在IDEA中导入您的项目:文件,新项目,从外部模型导入项目,Maven,选择您的pom.xml。

答案 2 :(得分:0)

如果您有404,我猜问题是网址,您尝试访问您的应用。

尽管如此,请检查工件和库的内容(Ctrl + Shift + Alt + s)。 另外,尝试将maven-compiler-pluginmaven-war-plugin这样的maven插件添加到pom.xml