2014-01-18 7 views
2

저는 Maven을 처음 사용하고 간단한 봄 데모를 실행하려고합니다. 내 IDE로 Intellij IDEA를 사용하고 있습니다. 튜토리얼에 따라 here을 제공합니다. 패키지 이름이 파일 경로와 일치하지 않습니다.

그래서 내가
mvn archetype:generate -DgroupId=SpringDemo -DartifactId=SpringExamples 
    -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

을 실행하고 그것은, .iws 등 파일을 모두 .ipr을 생성
mvn idea:idea 

했다. 그렇다면 단순히 IDEA에서 열어서 .ipr 파일을 선택했습니다. 그것은 IDEA 프로젝트로 감지를 열었지만

Package name 'cospring' does not correspond to the file path 'cospring-demo' 

앱 클래스는 오류

package cospring-demo; 

/** 
* Hello world! 
* 
*/ 
public class App 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World!"); 
    } 
} 

문제가 무엇입니까되어 다음 날 준다? 어떤 일을해야합니까?

+1

  • Naming a Package

  • 나는 클래스 '앱에서'cospring'를 사용해보십시오 (하이픈 포함) cospring-demo' 유효한 패키지 이름이 아닌 '생각 '. – Katona

    +0

    정말로'mvn idea : idea'를 사용하면 안됩니다. 그것은 더 이상 사용되지 않습니다 : http://stackoverflow.com/a/11903127/1350762. – maba

    답변

    1

    메이븐 groupIds 대시를 선호 좋은 설명 ("-")이지만, 자바 컴파일러는 패키지 이름에 대시를 금지합니다. 그러나 archetype 플러그인은 단순히 사용자가 그룹 ID으로 준 것을 뱉어냅니다.

    ARCHETYPE-216 단순히 원형에서 생성 groupId-를 사용하지.

    도메인 이름에 식별자 (§3.8)에 허용되지 않는 하이픈 또는 다른 특수 문자가 포함되어 있으면 밑줄로 변환하십시오. JLS

    관련 문제