2011-02-07 24 views
5

Otrzymałem klasy skompilowane, które muszę dodać do projektu.Dodaj skompilowaną klasę języka Java do maven projektu

Jednym z rozwiązań, które mogę wymyślić jest utworzenie słoika z tymi plikami i ręczne przesłanie go do repozytorium. Oczywiście to zadziała. Zastanawiam się jednak, czy istnieje bardziej eleganckie rozwiązanie. Czy mogę umieścić je w jakiś sposób w strukturze projektu? Pliki będą następnie rejestrowane do kontroli kodu źródłowego i łatwiej będzie zachować ich wersje, itp.

+1

Nie ma nic eleganckiego w dystrybucji rozpakowanych skompilowanych klas w pierwszej kolejności, obawiam się. –

+0

Zgodnie z tym, co sugeruje Boris, przechowywanie plików binarnych w repozytorium kontroli wersji jest złym pomysłem. – crowne

+0

@Sean: Zgadzam się, ale to jest ta sytuacja, całkiem nowa, muszę przyznać, ale obecnie nic nie mogę na to poradzić. – Tarlog

Odpowiedz

8

Oto moje podejście jak na komentarze na odpowiedź Borisa (po znalezieniu się konieczności korzystania ten sam wczoraj, ale nie można znaleźć link do odpowiedzi ja używany):

W katalogu projektu, utwórz folder o nazwie repo, który użyjemy jako repozytorium Maven na podstawie folderów.

Dodaj następujący repozytorium plików do projektu pom.xml:

<repositories> 
    <repository> 
     <id>file.repo</id> 
     <url>file://${project.basedir}/repo</url> 
    </repository> 
</repositories> 

spakować zajęcia jak słoik i wdrażać je do repozytorium plików, za pomocą następującego polecenia:

mvn deploy:deploy-file 
-Durl=file:///absolute/path/to/your-project/repo \ 
-DrepositoryId=file.repo \ 
-Dfile=path-to-your.jar \ 
-DgroupId=some.external.project.group \ 
-DartifactId=the-artifact-name \ 
-Dversion=1.0 \ 
-Dpackaging=jar; 

następstwie tego możesz po prostu dodać normalną zależność od słoja w projekcie pom.xml, używając wartości dla groupId, artifactId i wersji podanej powyżej. Następnie możesz dodać folder repo do SVN i zatwierdzić zmiany w swoim pom.xml. Każdy programista sprawdzający Twój projekt będzie teraz mógł korzystać z tej samej zależności bez żadnego wysiłku.

2

Pierwszy pomysł jest o wiele lepszy niż sprawdzenie w plikach binarnych, nad którymi nie masz kontroli. A więc, spakuj pliki binarne w słoiku, wypakuj je i zainstaluj w repozytorium.

+5

A jeśli pracujesz razem z innymi, z którymi nie udostępniasz repozytorium, a zatem chciałbyś dodać zależność do SCM: rozważ utworzenie repozytorium plików w katalogu głównym projektu, wdrożyć zależność pakietową do tego repozytorium, odwołaj się do repozytorium plików w projekcie POM i dodaj, że repozytorium do kontroli wersji. – Tim

+0

@Dodaj komentarz, który zasługuje na dodatkową odpowiedź. –

+0

Cóż, nie mogę się z tobą w pełni zgodzić. W kontroli źródła mam większą kontrolę nad tym, co się dzieje. – Tarlog

Powiązane problemy