2013-01-22 4 views
3

현재 프로젝트의 모든 애플리케이션에 대해 데비안 패키지를 만들어야합니다. 이들은 "java -jar ...."와 같이 시작되는 독립 실행 형 응용 프로그램입니다. 각 프로젝트는 몇 가지 다른 프로젝트 산출물에 따라 자체 JAR 생성물을 제공하며 많은 제 3 자 종속성 (컴파일 및 런타임 모두)이 있습니다.데비안 패키지에 Maven 아티팩트를 매핑하십시오.

지금 당장 필요한 모든 JAR (transitive, 일부 리소스 파일, 스크립트 등의 종속성)을 포함하는 debian 패키지를 빌드 할 수 있습니다.

내 패키지의 제어 파일 구성에 JRE 데비안 종속성을 지정하여 java도 설치합니다.

나는 codehaus unix-maven-plugin으로 deb 패키지를 만듭니다.

항아리가는/usr/share/자바에 설치되어,은/usr/bin으로 스크립트 등

는만큼 내가 서버에 정확히 하나 개의 패키지를 설치로 괜찮 : 설치 및 실행이 성공합니다. 그러나 패키지가 포함되어있는 JAR (예 : slf4j-api-1.5.10.jar) 중 하나를 제공하는 소프트웨어가 이미 설치되어있는 경우 패키지를 설치하는 데 문제가 있습니다. 패키지 관리자가 파일 충돌에 대해 불평합니다. 동일한 jar 파일 집합을 제공하는 동일한 서버에 두 개의 응용 프로그램을 설치하려고 할 때도 발생합니다.

내 문제의 해결책은 다른 debian 패키지에서 사용할 수있는 JAR 파일을 포함하지 않고 제어 파일의 "종속"섹션에서 해당 패키지를 선언하는 것입니다. Maven 저장소의 모든 JAR 파일이 해당 데비안 패키지를 사용할 수있는 것은 아니지만 누락 된 아티팩트의 경우 다른 데비안 패키지를 직접 만들 수 있습니다.

maven 종속성을 debian 종속성 목록 (제어 파일의 "Depends"섹션)으로 변환 할 수있는 방법이 있습니까? 그렇다면 내 배포가 외부 데비안 패키지로 사용할 수있는 JAR 파일을 재배포하지 않습니까?

내 응용 프로그램에 필요한 JAR 파일을 제공 할 수있는 데비안 패키지를 찾으려면 커스텀 메이븐 플러그인에서 사용할 수있는 온라인 서비스가 있습니까?

+0

http://packages.debian.org/search?searchon=contents&keywords=slf4j-api-1.5 https://github.com/tcurdt/jdeb를 만드는 'jdeb - 받는다는 - 플러그인'을 사용할 수 있습니다 감사합니다. 10.jar & mode = path & suite = stable & arch = any 또는'apt-file'을 사용하면 데비안에서 필요한 파일이 들어있는 기존 패키지를 검색 할 수 있습니다. http://www.ubuntuupdates.org/package_metas/list?name=maven 우분투 PPA를 검색하지만 데비안에서도 잘 작동 할 수 있습니다 (요구 한 것에 매우 근접한 것을 찾지는 못했지만, 더 나은 행운과 재능이있을 것이다.) – tripleee

+0

3 인승, 당신에게 제안을 해줘서 고맙지 만, 내가 바라는 것이 아니지만 적어도 조금 앞으로 나아가 라. :) 당신이 언급 한 온라인 서비스는 JAR이 필요해. 어떤 저장소에 대해서도 이러한 서비스를 사용할 수 있습니까? 우리는 회사 내 사내 APT 저장소도 가지고 있으며 유사한 쿼리를 수행하기 위해 그곳에 무언가를 설치할 필요가 있습니까? – KYL

+0

http://pkgs.org/ 최근에 다른 질문에서 언급되었지만 시도해보십시오. 아아, 제 3 자 리포지토리를 다루는 것 같지 않습니다. 'apt-file'은'sources.list' 또는 동등한 것에있는 모든 저장소의 내용을 검색합니다. – tripleee

답변

0

당신은 데비안 패키지

관련 문제