2009-01-29 15 views
6

Mam projekt, który ma jako zależność maven plik jar, który zawiera plik xml, w którym przechowywane są moje zasady dla checkstyle. Pomyślałem, że byłoby dobrze użyć tej konfiguracji: <configLocation> mycheckstyle.xml </configLocation >. Rozumiem, że plik powinien zostać przeszukany w ścieżce klasy, a mój plik JAR jest zależny od Mavena, więc powinien zostać znaleziony, jednak dostaję wyjątek nie odnaleziony w zasobie. Jakieś sugestie? Dzięki z góry ..Maven 2 Checkstyle configLocation

kuku

Odpowiedz

10

Spróbuj dodać sekcję zależności do konfiguracji wtyczki.

np

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <dependencies> 
     <dependency> 
     <groupId>com.example.whizbang</groupId> 
     <artifactId>build-tools</artifactId> 
     <version>1.0</version> 
     </dependency> 
    </dependencies> 
    </plugin> 

Zobacz Maven Checkstyle Plugin - Multimodule Configuration aby uzyskać więcej informacji.

+0

To jest poprawna odpowiedź. –

+1

To było bardzo pomocne dla naszego zespołu. Kiedy zdaliśmy sobie sprawę, że jest to możliwe, stworzyliśmy prosty POM z opakowaniem 'jar', aby obsłużyć naszą konfigurację checkstyle.Teraz znacznie łatwiej jest zarządzać, wersją (jeśli jest taka potrzeba) i dzielić się projektami. – Allan

0

Jak wyjaśniono w Checkstyle plugin page,

configLocation:

Określa lokalizację konfiguracji XML do wykorzystania.

Potencjalne wartości to ścieżka do systemu plików, adres URL, lub zasób ścieżki klasy Clash.

nigdy nie zrobił na moim projekcie ...

Czy jesteś pewien, że JAR zawierający plik XML jest w ścieżce klasy, kiedy plugin Checkstyle zaczyna?

0

Mam rodzica, który określa wtyczkę do checkstyle i ma w swoim folderze zasobów odpowiedni plik mycheckstyle.xml. Korzystam z dodatku do instalacji maven, aby utworzyć słoik folderu zasobów moich rodziców i zdefiniować ten słoik jako zależność w moim dziecku. Więc kiedy dziecko odziedziczy wtyczkę checkstyle + jej konfigurację od rodzica, powinno być możliwe znalezienie mycheckstyle.xml. Postępowałem zgodnie z instrukcjami na stronie wtyczki checkstyle, ale nie działało.

+0

Masz na myśli, że zrobiłeś to, co wyjaśniono tutaj: http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/mu lti-module-config.html? Możesz edytować swój początkowy wpis i umieścić w nim informacje pom.xml ... – romaintaz

+0

Nie do końca tak. To nie jest wiele modułów. Jest to proste dziedziczenie rodzica dla dziecka. Rodzic ma wtyczkę do checkstyle w swoim tagu raportowania, a dziecko ją dziedziczy. Dodaję zasoby z rodzica jako jar do potomka, aby mieć pliki konfiguracyjne. – kukudas

0

Jeśli masz lokalnego repozytorium maven dla swoich kontroli stworzonych przez siebie i skompilowany, należy pamiętać, aby nie zapomnieć o zdefiniowanie

<repositories> 
    <repository> 
     <id>my local repository</id> 
     <url>file:${basedir}/.m2artifacts</url> 
    </repository> 
    <!-- ... --> 
</repositories> 

ale także

<pluginRepositories> 
    <pluginRepository> 
     <id>my local repository</id> 
     <url>file:${basedir}/.m2artifacts</url> 
    </pluginRepository> 
    <!-- ... --> 
</pluginRepositories> 

inaczej zależność plugin będzie po prostu wyglądać w centralnym maven repo, ale nie znajdziesz twojego lokalnego pliku JAR z twoimi klasami kontrolnymi

Powiązane problemy