나는 여러 가지 다른 것들과 공유하는 svn 저장소에서 응용 프로그램을 옮겨서 새로운 것으로 바꾼다. 그래서 레이아웃으로 새로운 출발을 할 기회가 있습니다.내 저장소를 어떻게 배치해야합니까?
응용 프로그램 자체에는 데이터베이스와 통신하는 합리적인 표준 Java 웹 응용 프로그램과 데이터베이스를 폴링하는 백엔드 구성 요소 인 Java가 있으며 발견 한 내용을 기반으로 장기 실행 처리 작업을 시작합니다. 기본적으로 DB는 대기열로 사용됩니다. 이 코드는 세 가지 패키지로 구분되어 있습니다
org.blah.common
- 코드 등의 DAO와 같은 웹 응용 프로그램 및 백 엔드org.blah.webapp
사이에 공유되는 - 웹 응용 프로그램; 이는org.blah.common
에 달려 있으며.war
파일을 만듭니다.org.blah.backend
- 백 엔드 프로세스. 이것은org.blah.common
에 의존하며 jar와 일부 스크립트가 포함 된 tar 파일로 빌드됩니다.
또한 tomcat 및 apache config의 다른 비트도 svn에 넣고 싶습니다.
지금 세 패키지는 모두 src
디렉토리 아래 svn에 있으며, 다른 부분을 만드는 다른 타겟을 가진 개미 스크립트가 있습니다. svn : ignore 속성은 꽤 커졌고 어떤 패키지의 코드는 src
아래의 코드와 관련이 있지만 다른 패키지의 스크립트는 tomcat을 시작하고 중지하는 것이기 때문에 바로 알 수 없습니다.
나는 maven standard directory layout으로 끌었지만 이전에는 사용하지 않았습니다. 나는이 함께 왔어요 : 바로 지금, 내가 받는다는로 마이그레이션하지 않을
common/
src/
main/
java/
resources/
test/
java/
resources/
target/ # Not checked in
common.jar
webapp/
src/
main/
java/
resources/
webapp/
test/
java/
resources/
target/ # Not checked in
webapp.war
backend/
src/
main/
java/
perl/
resources/
test/
java/
resources/
target/ # Not checked in
backend.tar
infra/
tomcat/
bin/
conf/
apache/
bin/
conf/
db/
tables/
procs/
triggers/
주 - 그들이 작동하기 때문에 나는 기존의 개미 스크립트를 적용합니다. 미래의 어느 시점에서 maven (또는 buildr과 같은 것, maven 레이아웃을 사용하는)으로 이동하는 옵션을 유지하고 싶습니다.
그래서 :
- 이 저장소를 배치 합리적인 방법처럼 보이는가? 저 아래로 나를 더 멀리 위로 끌 수있는 것이 있습니까?
- 앱을 처음 접하는 사람들에게 이것이 분명 할 것입니까?
- 이것을 사용하기로 결정했다면, maven과 호환 가능합니까? (나는 이론적으로, 어떤 레이아웃 으로든 maven을 작동시킬 수 있다고 생각하지만, 그들은 이유를 위해 표준을 추천한다고 생각한다.)
- IDE가 이것에 문제가 있습니까? (내가 사용중인 컴퓨터에 따라 intellij 또는 Eclipse를 사용합니다. 내 팀의 다른 사람들 - 도움이되는 의견이없는 사람들 - netbeans 사용)
좋은 소리. 고마워. IntelliJ와 Eclipse로 테스트를 해본 결과 둘 다 더 행복해 보입니다. – Andy
사실 Eclipse, IntelliJ 및 NetBeans는 pom.xml이 제공 될 때 수동 조정없이이 레이아웃을 처리 할 수 있습니다. Ant 만 사용할 때 이것이 사실인지 나는 모른다. –