문제

Java 빌드 시스템의 패키지 종속성에 대한 제한을 시행 할 가능성은 무엇입니까? 예를 들어, myapp.server.bl.Customer 클래스는 myapp.client.ui.customlayout 패키지. 나는 개미 기반 또는 IDE 관련 솔루션에 관심이 있습니다.

빌드에서 오류 메시지가 표시되어 (사용자 정의) 패키지 종속성 규칙이 위반되고 빌드가 중단되었음을 나타내는 것입니다. 또한 ANT 스크립트 또는 IDE 프로젝트 파일 외부에서 목록, 바람직하게는 텍스트 파일의 종속성을 유지하고 싶습니다.

(Maven은 모르겠지만 여기서 읽었습니다. 모듈 종속성 관리에 대한 더 나은 지원이 있습니다)

도움이 되었습니까?

해결책

나는 CheckStyle에 확인이 있다고 생각합니다. 라고 불린다 수입 제어

다른 팁

액세스 규칙을 지정하기 위해 Eclipse 프로젝트를 구성 할 수 있습니다. 액세스 규칙은 와일드 카드 규칙을 가진 "금지", "권한"및 "액세스 가능한"레벨을 지정할 수 있습니다. 그런 다음 빌드 중에 경고 나 오류로 표시되도록 낙담하거나 금지 된 위반을 구성 할 수 있습니다.

아이디어에 관한 오래된 기사의 종류 (세부 사항이 오래 될 수 있음) :

http://www.eclipsezone.com/eclipse/forums/t53736.html

Eclipse (또는 OSGI) 플러그인을 사용하는 경우 플러그인/모듈의 "공개"부분이 명시 적으로 정의되어 있으며 이는 모델의 일부입니다.

여자 이름 문제에 대한 좋은 해결책 인 것 같습니다 (개미를 사용하는 경우). 아이비는 개미의 외부 의존성 관리 구성 요소이므로 개미와 잘 통합됩니다. 종속성을 해결하고, 충돌을 처리하고, 제외를 만들 수 있습니다.

간단한 XML 구조를 사용하여 종속성을 설명하고 Maven보다 사용하기 쉽습니다. 종속성 해결 문제 만 해결하려고합니다.

아이비 홈페이지에서 :

Ivy는 프로젝트 종속성을 관리 (녹음, 추적, 해결 및보고)를위한 도구입니다. 다음은 특징입니다.

  1. 유연성 및 구성 가능성 -Ivy는 본질적으로 비 불화이며 방법론이나 구조와 관련이 없습니다. 대신 광범위한 종속성 관리 및 빌드 프로세스에 적응하기 위해 필요한 유연성과 구성 가능성을 제공합니다.
  2. Apache Ant와의 엄격한 통합 - 독립형 도구로 제공되는 Ivy는 Apache Ant와 특히 잘 작동하여 종속성 해상도에서 의존성보고 및 출판에 이르기까지 다양한 강력한 개미 작업을 제공합니다.

IDE 특정 솔루션의 경우 Intellij 아이디어에는 종속성 분석 도구가있어 유효하지 않은 종속성을 정의 할 수 있습니다.http://www.jetbrains.com/idea/webhelp2/dependency-validation-dialog.html

종속 클래스를 편집하면서 컴파일 할 때 종속성 위반이 표시됩니다 (오른쪽 오류 막대의 오류/경고 줄무늬).

JetBrains의 TeamCity 빌드 서버를 사용하여 더 많은 자동화를 얻을 수 있으며, 위의 구성된 검사를 검사하고보고 할 수 있습니다.

다른 IDE 독립 솔루션의 경우, SAGITJ를 사용하여 유효하지 않은 종속성을 선언하고 (문제에 대한 경고/오류 정보를 얻기 위해 빌드 프로세스의 단계를 통합).

Eclipse는 빌드 경로 속성 / JAR 속성을 통해이를 지원합니다. Jar / Project 경계에서만 작동 할 수 있다고 생각합니다.

아마도 Classycle 사용할 수 있습니다 :http://classycle.sourceforge.net/ddf.html

아이디어 또는 Maven에서 여러 모듈을 사용할 수 있습니다. Eclipse 및 Gradle에서 여러 프로젝트를 사용할 수 있습니다. 개념은 모든 경우에 동일합니다.

사소한 해석은 모듈이 될 것입니다 myapp.server.bl 그리고 또 다른 myapp.client.ui.customlayout 둘 중 하나 사이에 컴파일 시간 종속성이 없습니다. 이제 반대 모듈/프로젝트에 대해 코드 또는 코드 완성을 컴파일하려는 시도는 원하는대로 실패합니다.

이미 문제가 얼마나 광범위한 지 감사하기 위해 Intellij 아이디어의 유용한 출발점은 종속성 분석:

http://www.jetbrains.com/idea/webhelp/analyzing-dependencies.html

이 기사에서 프로젝트의 종속성 분석을 실행하고 행동하는 방법을 알 수 있습니다.

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