2012-10-09 3 views
0

저는 Maven과 Idea를 사용하는 초심자입니다. 웹 프로젝트를 실행하는 모든 직관적 인 단계를 통과했지만 404 페이지가 있습니다 (이 응용 프로그램은 Idea에서 간단한 웹 프로젝트로 사용하면 잘 작동합니다). POM을 파일은 다음과 같습니다 :IDEA에서 Maven 웹 프로젝트를 올바르게 실행하는 방법은 무엇입니까?

<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> 

당신은 나에게 내 잘못을 말해 아니면이의 설명을 찾을 수있는 기사를 제안시겠습니까?

+0

시도해보십시오. http://maven.apache.org to http : // localhost : serverport/MyApp Satya

+0

웹 응용 프로그램입니까? 그렇다면 ''요소는 'war' 값을 가져야합니다. 그리고 아마도 부두 (jetty) 또는 바람둥이 (Tomcat) 플러그인을 추가하기를 원할 것입니다. – Augusto

+0

감사합니다 Satya,하지만 문제는 남아 있습니다 –

답변

1

다른 언급했듯이, 전쟁 포장이 필요합니다. 이제

mvn clean install 

IDEA에서 프로젝트 가져 오기 : 파일, 새 프로젝트, 프로젝트 가져 오기를 확인하기 위해, 당신은 전쟁을 구축 할 수 있는지 확인 http://maven.apache.org/guides/mini/guide-webapp.html

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

을 참조 받는다는 원형으로 프로젝트를 시작 외부 모델 인 Maven에서 pom.xml을 선택하십시오.

+0

답변 해 주셔서 감사합니다. mvn archetype을 실행할 때 MojoException이 발생했지만, 슬프게도 내가 추가하지 않은 것을 명확하게 표시하지 않았습니다. 그러나 mvn 클린 인스톨은 성공 빌드를 제공합니다. –

+0

그러나 문제가 해결되지 않습니다. –

+0

mvn archetype이 작동하지 않는 경우 추가로 진행하기 전에 필자의 maven 구성을 확인하고 수정해야합니다. 기존 외부 Maven 모델에서 새 프로젝트를 만들었습니까? 그 다음에는 새로운 실행 구성이 필요합니다. 여기에서 앱의 애플리케이션 컨텍스트를 정의합니다. 기본값은 /입니다. URL이 일치해야합니다. 그렇지 않으면 404가옵니다. –

1

아이디어에 대해서는 잘 모르겠지만 일반적으로 웹 프로젝트에는 항아리가 아닌 포장 유형의 전쟁이 있습니다.

추가 파일과 폴더를 알 수 있도록 maven war 플러그인도 조사하십시오.

maven 아키타 입을 사용하여 샘플 응용 프로그램을 만들면이 문제를 연구 할 수 있습니다. 그런 다음 도구를 사용하여 샘플 소스와 자신의 소스를 비교하십시오.

0

404가있는 경우 URL에 문제가 있다고 생각하면 앱에 액세스하려고합니다.

그럼에도 불구하고 이슈 및 라이브러리 (Ctrl + Shift + Alt + s)의 내용을 확인하십시오. 또한 및 maven-war-plugin과 같은 메이븐 플러그인을 pom.xml에 추가하십시오.

+0

왜 플러그인을 추가해야합니까? 더 이상의 설명없이 이러한 플러그인을 포함하도록 요청하는 것은 의미가 없습니다. – maba

+0

글쎄, 난이 새로운 플러그인을 추가했지만 IDE는 오류로 표시한다. 디렉토리에서 찾을 수 없다./repo1.maven.con과 동기화를 실행하지만 stil 업데이트이다. –

관련 문제