2013-01-10 14 views
6

Używam JBoss EAP 6.0.1 (NIE JBoss AS 7.1.1 lub 7.1.3!), A ja po prostu wychodząc z Maven projekt.Dodaj wszystkie artefakty z JBoss Maven repo do projektu Maven Eclipse

W normalnych projektach Eclipse ustawiam docelowy czas wykonywania mojego projektu na środowisko wykonawcze Japoss EAP, a następnie wszystkie jego biblioteki są dostępne dla mojego projektu. Dostępne tutaj oznacza, że ​​mogę użyć np. ctrl-t, aby znaleźć klasę w którejkolwiek z tych bibliotek, a kiedy podłączę źródło, mogę wkroczyć do nich podczas debugowania.

Jak to zrobić, używając Maven (m2e)?

Znalazłem repozytorium Maven dla JBoss EAP 6.0.1 na http://maven.repository.redhat.com/techpreview/eap6/6.0.1/

Czy muszę dodać zależność roota (reprezentujący JBoss EAP sam) do mojego projektu, a jeśli tak, to co by to być zależność ?

znalazłem bardzo podobne pytanie tutaj: Adding JBoss AS 7 modules on Eclipse using Maven or JBoss Tools

Ale akceptowane odpowiedź tylko mówi: „Spójrz na te linki”, która nie mówi mi jak dokładnie to zrobić (i jest to dla AS 7.1 .1 nie dla EAP 6.0.1).

UPDATE

nie było do końca jasne, o pytaniu. Nie szukam jedynie odniesienia do interfejsów API Java EE. Wiem, jak to zrobić, że, jak to po prostu:

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>1.6</version> 
    <scope>provided</scope> 
</dependency> 

Jestem również NOT szukają wszelkich wersjach sprzedawca tej specyfikacji słoika. Jestem absolutnie NIE patrząc na kolejny jeden albo:

<dependency> 
    <groupId>org.jboss.spec</groupId> 
    <artifactId>jboss-javaee-6.0</artifactId> 
    <version>1.0.0.Final</version> 
    <type>pom</type> 
</dependency> 

Co szukam jest posiadające wszystkie bibliotekami wdrożeniowe dostępne w projekcie. Środowisko wykonawcze JBoss AS 6 robi to domyślnie, a dzięki środowisku uruchomieniowemu serwera JBoss AS 7/EAP 6 można to zrobić, przechodząc do opcji Serwer -> Środowiska uruchomieniowe -> Domyślna ścieżka klasy (można tam wprowadzić pojedyncze ścieżki lub po prostu dodać the/modules rootpath, aby mieć wszystko w jednym)

Szukam odpowiednika tego w projekcie Maven.

NIE PATRZE DLA SPEC JARS !!!!

Jak muszę prześledzić faktyczna realizacja słoiki z serwerem docelowym, naprawdę muszę rzeczywistej słoiki realizacji. I WIEDZAMY Nie mogę ich wdrożyć, ani też nie zamierzam ich wdrażać. Muszą być obecne w moim IDE, więc istnieje kod źródłowy pasujący do tego, co jest w docelowej maszynie JVM i mogę używać CTRL-SHIFT-T do wyszukiwania klas i CTRL-CLICK do nawigacji w nich, analizowania hierarchii połączeń, itp.

PONOWNIE: NIE POSZUKIWAM SPECCH JARS !!!!

+1

Sprawdź to bardzo powiązane pytanie: http://stackoverflow.com/questions/9839689. I ten przewodnik, który łagodzi ból (choć nie jest to dokładnie to, o co prosisz): http://navinpeiris.com/2011/07/19/importing-jboss-7-dependencies-through-maven/. Ponadto, czy nie byłoby najlepszą praktyką kompilowanie przeciwko JBoss __specification libs__ zamiast konkretnych implementacji? – ctrueden

Odpowiedz

1

Jest miły wyjaśnienie repozytorium Mavena w JBoss: https://community.jboss.org/wiki/MavenRepository

Przypuszczam repozytorium trzeba użyć to: https://repository.jboss.org/nexus/content/groups/public-jboss/ powinno zawierać wszystkie artefakty JBoss których szukasz.

Maybee identyfikator groupId/artifactId nie jest poprawny. Istnieje funkcja wyszukiwania repozytoriów pod adresem: https://repository.jboss.org/nexus/index.html#welcome

Nie polecam dodawania słoików impl, ponieważ i tak nie można ich wdrożyć. Więc słoiki Spec powinno być ok:

<dependency> 
    <groupId>org.jboss.spec</groupId> 
    <artifactId>jboss-javaee-6.0</artifactId> 
    <version>1.0.0.Final</version> 
    <type>pom</type> 
</dependency> 

patrz: http://www.andygibson.net/blog/quickbyte/jboss-java-ee-6-spec-dependency-in-maven/

WDB dla serwera JBoss wydają się wiele zmienić. JBoss 7 można znaleźć na stronie:

<dependency> 
    <groupId>org.jboss.as</groupId> 
    <artifactId>jboss-as-ee</artifactId> 
    <version>7.1.3.Final</version> 
</dependency> 
+0

> Nie polecam dodawać słoików impl, ponieważ i tak nie można ich wdrożyć. - Naprawdę mi przykro, ale to jest cała kwestia mojego pytania: | –

+0

cóż można dodać zależność z zakresem pod warunkiem, że chcesz rzucić coś do znanego typu. Ale pojemniki zwykle pomijają słoiki zawierające javax.* pakiety – wemu

+0

Aby korzystać z podanego zakresu, potrzebuję mieć tę zależność. Zauważ, że rzadko, jeśli w ogóle, muszę odwoływać się do typów kontenerów w moim kodzie. To 99,9% za możliwość przejścia przez kod kontenera (= debugowanie) i wyszukania/sprawdzenia odniesień do kontenera. –

2

znalazłem zaskakująco proste rozwiązanie mój własny: mimo libs są zarządzane przez Maven i runtime cel jest domyślnie wyłączone, nadal można wyraźnie zaznaczyć runtime docelowego.

Biblioteki, do których docelowe środowisko uruchomiono ścieżkę klas, będą teraz również umieszczane w ścieżce klas dla projektu Maven, oprócz tych, które już tam umieszcza Maven. Możesz (ręcznie) dołączyć kod źródłowy do tych bibliotek.

Po wykonaniu debugowania i przejściu przez elementy wewnętrzne systemu AS można po prostu ponownie usunąć docelowe środowisko wykonawcze.

Odpowiedź, która mówi, jak to zrobić wyłącznie za pośrednictwem Maven i JBoss EAP 6.0.1 (nie JBoss AS 7.1.1 lub 7.1.3) byłaby mile widziana, więc nie przyjmie mojej odpowiedzi;)

3
+0

Tak, znalazłem to i używam, jeśli dla załącznika źródłowego, ale jaka byłaby zależność pojedynczego root'a w pom.xml? Wspaniale jest, że istnieje repozytorium, ale jeśli muszę dodać każdy słoik indywidualnie do pom, a następnie zaktualizować go dla każdej wersji JBoss, to nie jest to zbyt wygodne. –

0

Spójrz tutaj:

JBoss Enterprise Application Platform Component Details

I w moim pom.xml Używam tego dostać zależności od JBoss EAP 6.0.1

<dependency> 
    <groupId>org.jboss.spec</groupId> 
    <artifactId>jboss-javaee-6.0</artifactId> 
    <type>pom</type>     
    <scope>provided</scope> 
    <version>3.0.2.Final</version> 
</dependency> 
+0

Pomocne, dziękuję! Ale wciąż nie ta pojedyncza zależność Mavena odpowiadająca całemu serwerowi. –

+0

właśnie zmodyfikowałem moją odpowiedź, czy to jest to, czego potrzebujesz? – delkant

+0

Przepraszam, ale to absolutnie nie to, czego szukam. Przeczytaj pytanie: ** NIE POSZUKIWAM SPECJALNYCH SŁÓW !!!!];) Dziękuję za wysiłek, ale absolutnie i absolutnie nie szukam słoików. –

0

Możesz używać Nexusa, Gita lub Overlorda do zarządzania artefaktami projektu, aby utworzyć wirtualną zależność proxy, jeśli się nie mylę.

+0

Nie ma potrzeby proxy ani przechowywania czegokolwiek, chcę tylko * 1 * zależności Maven dla * kodu * implementacji dla konkretnej wersji JBoss, –

Powiązane problemy