Maven을 사용하지 않는 기존 프로젝트에서 Spring roo를 사용할 수 있나요?

StackOverflow https://stackoverflow.com/questions/1231707

  •  22-07-2019
  •  | 
  •  

문제

스프링루 기존 프로젝트에서 사용할 수 있습니다. 표준 Maven 레이아웃을 따르십시오..지금까지 이것은 Maven을 사용하지 않는 프로젝트가 운이 없다는 것을 의미하는 것으로 보입니다.

그러한 기존 프로젝트에 대한 옵션이 무엇인지 궁금합니다.

Maven 레이아웃에 맞게 프로젝트 레이아웃을 다시 정렬하시겠습니까?이는 CVS에서 수년간의 역사를 가진 프로젝트의 경우 매우 어려운 경로로 보입니다. 디렉토리 이동 방법 CVS에서는 매우 침습적입니다.

비표준 레이아웃과 작동하도록 Maven 구성을 수정하는 것과 같은 다른 옵션이 있습니까?이 주제에 관해 이전에 읽었던 Maven의 책에서 내가 기억하는 것은 CoC 접근 방식은 이러한 비표준 레이아웃을 선호하지 않습니다.

편집하다:

아래 Rich의 답변은 super-pom의 기본값을 재정의하는 것이 쉽지 않음을 보여줍니다.그러면 Spring Roo가 이러한 수정 사항을 잘 적용할 수 있을지에 대한 의문이 남습니다.Spring Roo가 Maven 자체를 사용하지 않는다는 사실을 고려하면 이는 의심스럽습니다.

편집하다:

Rich의 업데이트 된 답변은 기본적으로 Hard Coded 경로를 사용하고 POM.xml에서 수정을 선택하지 않으므로 지금까지 답변은 불가능하지만 상자 외에는 할 수있는 것으로 보입니다. 일부 사용자 정의 코딩 (또는 Roo Team에게이를 지원하도록 요청)

도움이 되었습니까?

해결책

우리 (루프 팀)가 MavenPathresolver를 사용자 정의 경로를 사용하도록 허용 할 수없는 이유는 없으며, 의도적 인 이유 중 하나는 내가 비다 피할 수있는 위치뿐만 아니라 공통 경로 위치의 사용자 정의를 지원하는 것이 었습니다. Ant+Ivy와 같은 다른 빌드 시스템. 모든 기본 루어 애드온은 Pathresolver를 사용하기 위해 작성되었으므로이를 지원하기 위해 큰 노력을 기울이지 않아야합니다. 강화 요청을 추가하십시오 루 지라 인스턴스 여전히이 지원이 마음에 들면.

다른 팁

Maven을 수정하여 다른 규칙 집합을 사용할 수 있습니다.표준 세트는 다음에서 상속됩니다. 메이븐 슈퍼 POM 관련 속성을 재정의하여 재정의할 수 있습니다.

예를 들어, 소스 디렉터리를 src/main/java에서 src로, 테스트 디렉터리를 test-src로, 리소스 디렉터리를 src/main/resources에서 resources로 변경하려면 POM에서 다음을 설정합니다.

<build>
  <sourceDirectory>src</sourceDirectory>
  <testSourceDirectory>test-src</testSourceDirectory>
  <resources>
    <resource>
      <directory>resources</directory>
    </resource>
  </resources>
</build>

일부 플러그인은 위치에 액세스하기 위해 표준 속성을 사용하지 않을 수도 있습니다(예:${project.build.outputDirectory}를 사용하는 대신 대상/클래스를 하드코딩하므로 이상한 문제가 발생할 수 있습니다.


업데이트:Roo가 현재 이것들을 가지고 있는 것 같습니다. 하드코딩된 속성.MavenPathResolver를 교체하거나 추가 해석기를 추가하여 사용자 정의 속성을 사용할 수 있습니다.

이것이 당신에게 진짜 문제라면, 당신은 할 수 있습니다 요청을 제기하다 사용자 정의 위치를 ​​허용하도록 수정된 MavenPathResolver를 가져옵니다.

Roo 1.2에서 구현되지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top