Spring WebApp Maven - 源文件夹不在Java构建类路径上

时间:2014-02-22 18:11:04

标签: java maven-3 eclipse-classpath

我正在关注此article以了解如何使用Spring MVC创建Java Web应用程序。我首先在一个单独的位置创建了Web应用程序项目 CounterWebApp mvn eclipse:eclipse -Dwtpversion = 2.0 )然后在Eclipse中导入整个项目。

我很难将 BaseController.java 放在正确的包中,如文章所述。它是

  1. “源文件夹不在Java构建类路径上”, OR

  2. 未在该位置创建BaseController.java (的 /src/main/java/com/mkyong/controller/BaseController.java

  3. 请帮我理解如何正确操作?在eclipse中导入项目之后,以下是我的 .classpath 文件和 pom.xml 的内容。

    的.classpath:

    <classpath>
      <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
      <classpathentry kind="output" path="target/classes"/>
      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/3.2.0.RELEASE/spring-core-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-web/3.2.0.RELEASE/spring-web-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/3.2.0.RELEASE/spring-context-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/3.2.0.RELEASE/spring-aop-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/3.2.0.RELEASE/spring-beans-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/3.2.0.RELEASE/spring-expression-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-webmvc/3.2.0.RELEASE/spring-webmvc-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/>
    </classpath>
    

    的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/maven-v4_0_0.xsd">
            <modelVersion>4.0.0</modelVersion>
            <groupId>com.sandeep</groupId>
            <artifactId>CounterWebApp</artifactId>
            <packaging>war</packaging>
            <version>1.0-SNAPSHOT</version>
            <name>CounterWebApp Maven Webapp</name>
            <url>http://maven.apache.org</url>
    
            <properties>
                    <spring.version>3.2.0.RELEASE</spring.version>
                    <junit.version>4.11</junit.version>
                    <jdk.version>1.7</jdk.version>
            </properties>
    
            <dependencies>
    
                    <!-- Spring 3 dependencies -->
                    <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>
    
                    <dependency>
                            <groupId>junit</groupId>
                            <artifactId>junit</artifactId>
                            <version>${junit.version}</version>
                            <scope>test</scope>
                    </dependency>
            </dependencies>
            <build>
                    <finalName>CounterWebApp</finalName>
                    <plugins>
                            <plugin>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-compiler-plugin</artifactId>
                                    <version>3.0</version>
                                    <configuration>
                                            <source>${jdk.version}</source>
                                            <target>${jdk.version}</target>
                                    </configuration>
                            </plugin>
                    </plugins>
            </build>
    </project>
    

1 个答案:

答案 0 :(得分:0)

问题如何解决:

  1. 在“main”下创建了一个文件夹“java”(文件 - &gt;新建 - &gt;文件夹)。完成此步骤后,我们在src / main下有3个文件夹:java,resources,webapp。

  2. 我下载了随文章提供的.zip,将.classpath与我的相比较并对其进行了相应的修改。

  3. 此时,我的eclipse.classpath内容如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
      <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
      <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
      <classpathentry kind="output" path="target/classes"/>
      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/3.2.0.RELEASE/spring-core-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-web/3.2.0.RELEASE/spring-web-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/3.2.0.RELEASE/spring-context-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/3.2.0.RELEASE/spring-aop-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/3.2.0.RELEASE/spring-beans-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/3.2.0.RELEASE/spring-expression-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/springframework/spring-webmvc/3.2.0.RELEASE/spring-webmvc-3.2.0.RELEASE.jar"/>
      <classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar"/>
      <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/>
    </classpath>
    

    终于创建了Spring MVC控制器类BaseController.java( /src/main/java/com/sandeep/controller/BaseController.java

    • 选择“java”,新增 - &gt;其他 - &gt;类 - &gt;下一步。

    • 包:com.sandeep.controller

    • 名称:BaseController