2012-03-04 5 views
1

Jaybird (Firebird JDBC 드라이버)의 릴리스에서는 Maven 저장소로 릴리스하려고합니다. 지원되는 각 Java 버전마다 다른 버전이 있으므로 (예 : Java 5/JDBC 3, Java 6/JDBC 4.0 및 Java 7/Java 용 버전이 될 Jaybird 2.2에 대해서는이 아티팩트의 이름 지정/버전 지정 방법을 고려 중입니다. JDBC 4.1). (분류기를 사용하여 버전 이슈에 (예를 들어 <version>2.2.0-jdk15</version>) 다른 JVM 버전에 대한 maven 아티팩트 배포

  • (예 : <artifactId>jaybird-jdk15</<artifactId>)
  • JVM 버전을

    1. JVM 버전 :

      나는 JVM 특정 버전 이름의 세 가지 방법을 발견했다 예 : <classifier>jdk15</classifier>)

    빌드마다 소스 코드가 다르므로 실제로 JVM 변형이 다른 것으로 간주 될 수 있습니다 t 유물 (옵션 1). PostgreSQL JDBC가 옵션 2를 사용하는 것을 보았습니다. 옵션 3은 (AFAIK) 버전 별 소스 및 javadoc을 포함 할 수 없다는 단점이 있습니다.

    JVM 특정 아티팩트에 대해 완전히 다른 옵션 또는 메이븐 기능을 놓친 경우 또는 이러한 유형의 아티팩트를 버전 관리하는 데 선호되는 방법이 있는지 알고 싶습니다.

    참고하십시오 Jaybird 빌드 프로세스 자체 때문에 소스 코드가 모두 다른 사실 하지 사용 메이븐

  • +1

    또 다른 데이터 포인트 인 oracle은 ojdbc14, ojdbc5 또는 ojdbc6이라는 아티팩트와 함께 옵션 1을 사용합니다. 나는 분류자가 올바른 접근법이라고 생각하지만 첨부 된 소스 및 javadoc 아티팩트에 관해 매우 좋은 지적을 제기합니다. –

    +0

    [testng] (http://repo1.maven.org/maven2/org/testng/testng/5.10/)은'jdk14'와'jdk15'에 대해'5.11' 버전 이전에'Option 3'을 사용했습니다. 또한'source'와'javadoc'을 배치했지만 둘 다 공통적인지 확실하지 않습니다. – Raghuram

    답변

    1

    을하지, 난 정말 다른 유물입니다 옵션 1 승/갈 것.

    이제 모든 소스를 하나의 트리로 결합하고 다른 아티팩트를 빌드하는 데 프로파일을 사용한 경우 옵션 3을 사용합니다. 단, 소스 코드 기반이 더 많은 경우에만 가능합니다.

    +0

    빌드 자체는 Maven을 사용하지 않으며 JVM 버전 간의 차이점을 코드화하고 구조화하는 방식으로 단일 코드베이스를 얻는 것은 쉽지 않습니다. –

    +0

    메이븐 (maven)을 사용하여 아티팩트를 빌드하고 생성하는 방법은 실제로 중요하지 않습니다. 차이를 중요하게 만드는 것은 maven을 사용하는 다른 프로젝트에 대한 인공물의 가용성입니다. – Michael

    관련 문제