2016-04-07 27 views
1

Şu andaki projemde, tüm bağımlılıkları hariç tutmak istiyorum.Spring Boot Maven Eklentisi - Tüm bağımlılıkları dışla

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <version>1.3.3.RELEASE</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>repackage</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <mainClass>a.b.testClass</mainClass> 
     <layout>ZIP</layout> 
      <excludeArtifactIds>*</excludeArtifactIds> 
    </configuration> 
</plugin> 
+0

Bunu yaparsanız, çalışmaz. – OrangeDog

+0

Neden bunu yapmak istiyorsunuz? Bu temelde Spring Boot kullanarak bile amacını yendi. –

cevap

-1

Bunu deneyebilirsiniz. iş gibi görünüyor

<configuration> 
     <excludes> 
     <exclude> 
      <groupId>*</groupId> 
      <artifactId>*</artifactId> 
     </exclude> 
     </excludes> 
    </configuration> 
+2

çalışmıyor, daha önce test ettim –

2

Çirkin çözüm mevcut değil objeyle içerir koymaktır: sürümünde 1.3.3 üzerinde

<configuration> 
    <layout>ZIP</layout> 
    <includes> 
     <include> 
      <groupId>abc</groupId> 
      <artifactId>abc</artifactId> 
     </include> 
    </includes> 
</configuration> 

Çalışır ama sonraki sürümlerinde değişmez olacağını garanti edilmez. http://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html#howto-build-an-executable-archive-with-ant size maven içinde uygulamak gerekir adımların listesini verebilir:

Veya, her şeyi kendiniz paket olabilir, karınca için talimatlar vardır. Yani:

  1. manifest'te Ana sınıfı ve Başlat Class ekleyin:

    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jar-plugin</artifactId> 
    
        <configuration> 
         <archive> 
          <manifest> 
           <mainClass>org.springframework.boot.loader.PropertiesLauncher</mainClass> 
          </manifest> 
          <manifestEntries> 
           <Start-Class>your.package.YourMainClass</Start-Class> 
          </manifestEntries> 
         </archive> 
        </configuration> 
    </plugin> 
    
  2. atla lib dizininde bağımlılıkları ekledi. köküne

  3. Ekleme bahar önyükleyici sınıfları:

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-loader</artifactId> 
        <version>1.3.3.RELEASE</version> 
    </dependency> 
    

    O zaman paketten gerekir:

    <plugin> 
        <artifactId>maven-dependency-plugin</artifactId> 
    
        <executions> 
         <execution> 
          <phase>process-sources</phase> 
    
          <goals> 
           <goal>unpack</goal> 
          </goals> 
    
          <configuration> 
           <artifactItems> 
            <artifactItem> 
             <groupId>org.springframework.boot</groupId> 
             <artifactId>spring-boot-loader</artifactId> 
             <outputDirectory>${project.build.directory}/classes</outputDirectory> 
            </artifactItem> 
           </artifactItems> 
          </configuration> 
         </execution> 
        </executions> 
    </plugin> 
    

    yükleyici sınıfları koymak için daha iyi bir yolu olabilir Öncelikle bağımlılık gerek Kökte, ama bu benim projem için tamam çalışıyor.

İlgili konular