Search code examples
javaeclipsemavenxjcbuildpath

Avoid building project in a loop for target/generated-sources


I have got a Spring-boot project where I need to have generated sources from a WSDL location.

My maven build plugin for the WSDL endpoint looks like that:

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <!-- tag::wsdl[] -->
      <plugin>
         <groupId>org.jvnet.jaxb2.maven2</groupId>
         <artifactId>maven-jaxb2-plugin</artifactId>
         <version>0.13.2</version>
         <executions>
            <execution>
               <goals>
                  <goal>generate</goal>
               </goals>
            </execution>
         </executions>
         <configuration>
            <args>
               <arg>-XautoNameResolution</arg>
            </args>
            <locale>DE</locale>
            <schemaLanguage>WSDL</schemaLanguage>
            <generatePackage>com.myCompany.myProject.wsdl.svs</generatePackage>
            <schemas>
               <schema>
                  <url>https://urlToWS.wsdl</url>
               </schema>
            </schemas>
         </configuration>
      </plugin>
      <!-- end::wsdl[] -->
   </plugins>
</build>

The generation of the sources works as expected and are under target/generated-sources/xjc of my project:

enter image description here

My Problem is, that eclipse (or maven) builds this project every second. This is really annoying because every other task have to wait for the build.

I know that I am able to remove this folder from the build path. But If I do so I will also remove my sources and my project is in an invalid state.

enter image description here

So is there a way to avoid building the project without removing the generated sources from the build path?


Solution

  • In Project > Properties: Builders you can (temporary) disable other project builders than Java Builder (which compiles the Java code) by unchecking them.