2012-05-24 14 views
11

Generuję źródła Java z pliku wsdl. Te źródła nie są objęte kontrolą wersji (ale jest to WSDL). Używamy wtyczki cxf-codegen w programie maven, a wygenerowane klasy są generowane w <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>.zdefiniować dodatkowy katalog źródłowy w maven

To działa dobrze w maven.

Muszę zdefiniować ten katalog jako katalog źródłowy dodatku w Intelij Idea. (target jest normalnie wykluczone).

Ale za każdym razem, gdy ponownie importuję projekt maven do InteliJ Idea (z powodu zmian pom), muszę ręcznie edytować strukturę projektu w Idea i przedefiniować katalog źródeł dodawania.

Czy istnieje sposób, w jaki mogę zdefiniować ten dodatkowy katalog źródłowy w programie maven, więc Idea odbiera go po ponownym wczytaniu, lub nakazuje Idea, aby nie zapomniał ręcznej definicji bezpośredniego źródła?

+2

Czy sprawdzić http://wiki.jetbrains.net/intellij/Maven_FAQ? – CrazyCoder

+0

@ CrazyCoder Powinien najpierw sprawdzić swoją wiki. "generowane źródła" zmyśliły. Dzięki. Czy możesz to opublikować jako odpowiedź, więc mogę to zaakceptować? – bert

Odpowiedz

11

Ten przypadek jest opisany w IntelliJ IDEA Maven FAQ, Wygenerowane Źródła section:

Określ katalog swojego korzenia źródłowego podczas ponownego importowania projektu.
Można wybrać jedną z następujących opcji:

  • Detect automatycznie Jest to opcja domyślna. Po wybraniu tej opcji IntelliJ IDEA automatycznie wykrywa lokalizację wygenerowanych źródeł. IntelliJ IDEA wykrywa również katalog, który ma oznaczać źródło. Jednak IntelliJ IDEA wyszukuje wygenerowane źródła tylko w katalogach target/generowane-źródła i target/generowane-źródła/*.

  • target/generated-sources Ta opcja umożliwia ręczne oznaczenie katalogu jako root źródła.

  • podkatalogi "target/generated-sources" Ta opcja umożliwia ręczne oznaczenie podkatalogu jako źródła root.

  • Nie wykrywaj Ta opcja pozwala pominąć proces wykrywania.

5

Spójrz na <add-source> build bramki (patrz przykład here)

Cytat:

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>build-helper-maven-plugin</artifactId> 
<version>1.4</version> 
<executions> 
    <execution> 
    <id>add-wsdl-source</id> 
    <phase>generate-sources</phase> 
    <goals> 
    <goal>add-source</goal> 
    </goals> 
    <configuration> 
    <sources> 
    <source>${basedir}/src-generated/src</source> 
    </sources> 
    </configuration> 
    <!-- [...] --> 
    </execution> 
</executions> 
</plugin> 
+3

to generuje źródła poza folderem docelowym i mogę zbudować projekt. Niestety, Idea nadal potrzebuje ręcznej definicji tego dodatkowego folderu, dlatego mój problem pozostaje. – bert

0

Można zdefiniować (zewnętrzne) katalog źródłowy jako zależność do modułu. Project Structure -> Modules -> Depenencies. Tam musisz dodać nową zależność .

+0

dzięki. Idea zachowuje tę zmianę po ponownym załadowaniu pom. Pliki Java są rozpoznawane jako takie. Niestety Idea nie rozpoznaje odwołań klas do plików w takim katalogu. Dziwne, będę badać bardziej – bert

Powiązane problemy