title: Vaadin 12 + Gradle 5 Create executable Fat jar
body: <p>I need to use Jetty and Vaadin and build a fat jar. </p>
  
  <p>My workspace is based around Gradle 5, Its a gradle multi module project</p>
  
  <pre><code>Parent
    Common-Lib
    Core-Lib
    Jetty+Vaadin
  </code></pre>
  
  <p>I followed the documentation which i found here: </p>
  
  <p><a href="https://vaadin.com/tutorials/embedded-jetty-server-in-vaadin-flow" rel="nofollow noreferrer">https://vaadin.com/tutorials/embedded-jetty-server-in-vaadin-flow</a> </p>
  
  <p>The documentation explains how to create Jetty's WebAppContext and start Jetty Server instance all based around maven.</p>
  
  <p>Expect as i said my workspace is based around gradle, so instead of copying the pom.xml i rewrote it to the gradle build script which looks as follows:</p>
  
  <pre><code>plugins {
      id 'idea'
  }
  
  group = 'some.example.jetty.and.vaadin.fatjar'
  version = '1.0.0'
  
  dependencies {
      implementation project(':Core-Lib')
      implementation project(':Common-Lib')
  
      compile group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
  
      compile group: 'org.eclipse.jetty', name: 'jetty-continuation', version: '9.4.14.v20181114'
      compile group: 'org.eclipse.jetty.websocket', name: 'websocket-server', version: '9.4.14.v20181114'
      compile group: 'org.eclipse.jetty.websocket', name: 'javax-websocket-server-impl', version: '9.4.14.v20181114'
  
      compile group: 'com.vaadin', name: 'vaadin-core', version: '12.0.7'
  }
  </code></pre>
  
  <p>My problem is that during the build gradle outputs a .war file. I cannot use a .war file. </p>
  
  <p>This project is supposed to be a plug-in module for another application, which i do not have sources for. The application just loads a jar files from specific folder, only jar extension is supported.</p>
  
  <p>My question is: How can i create standard "unshaded" uber jar/fat jar instead of .war </p>
  
  <p>With the word "unshaded" i want to unpack all JAR dependencies, and repack them into the final JAR.</p>