2010-03-23 13 views
5

Mam aplikację Raven Maven 2 używającą Jersey/JAXB. Generuję komponenty JAXB z pliku schematu, w którym plik schematu znajduje się w moim katalogu zasobów, np. Src/main/resources/foo.xsd.Jak dodać plik z mojego drzewa źródłowego do strony Maven

Chcę dołączyć plik foo.xsd w wygenerowanej witrynie Maven dla mojego projektu, aby klienci mogli zobaczyć schemat XML podczas pisania połączeń RESTful.

Jak dodać plik foo.xsd do witryny?

Mogę mieć kopię pliku w src/main/site/..., a następnie zaktualizować mój plik site.xml, aby wskazywać na niego (lub mieć .apt, którego zawartość wskazuje na to), ale ja don tak ci się podoba, ponieważ wciąż ulepszam foo.xsd i nie chcę pamiętać o kopiowaniu go za każdym razem, gdy go aktualizuję. I to po prostu zła praktyka.

Próbowałem również mieć plik .apt, który ma link do foo.xsd, który zostanie skopiowany do katalogu target/classes. To działa, dopóki nie zrobię strony: wdrożyć, ponieważ to tylko kopiuje katalog docelowy/witryny.

Dzięki,

Charles

Odpowiedz

6

Aby dodać środki na swojej stronie, będziesz musiałuwzględnić je w katalogu zasobów:

 
. 
`-- src 
    `-- site 
     `-- resources 
      `-- foo.xsd 

zachować ten plik w synchronizacji z wygenerowany, można po prostu użyć antrun maven plugin skopiować wygenerowany plik z src/main/resources do powyższej lokalizacji, na przykład podczas pre-site fazy:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <executions> 
     <execution> 
     <phase>pre-site</phase> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     <configuration> 
      <tasks> 
      <copy file="src/main/resources/foo.xsd" todir="src/site/resources"/> 
      </tasks> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

Wreszcie, dodać link do tego foo.xsd w miejscu descripto r (plik site.xml).

+0

Dzięki, to działa idealnie! –

+0

@Charles Nie ma za co. –

0

Spójrz na tego link. Opisuje, jak dostosować nawigację i dodać zasoby do strony generowanej przez Mavena.

+0

Dzięki, widziałem ten link, i to jest mój pomysł na skopiowanie pliku .xsd z mojego drzewa src/main/resources do drzewa/src/site. Które jest rozwiązanie, którego nie lubię ... Łącze opisuje, jak dodać statyczne pliki do drzewa src/strony, aby pojawiły się w raporcie; Próbuję uniknąć dwóch kopii mojego pliku .xsd. Mam nadzieję, że jest sposób, w jaki mogę to zrobić bez pisania własnej wtyczki do raportowania Mavena. –

+0

Po prostu skopiuj plik do lokalizacji, której potrzebujesz, jako części kompilacji Mavena. Pascal sugeruje jeden sposób na zrobienie tego. –

Powiązane problemy