Giter VIP home page Giter VIP logo

launcher's Introduction

The sbt launcher module

This project is the componetized sbt launcher. It can be used to launch many Maven/Ivy deployed applications and utilities, and forms the basis of sbt and conscript's launching abilities.

For the full set of documentation, read: https://www.scala-sbt.org/1.x/docs/Sbt-Launcher.html.

Rebundling

This project provides two modules for general use:

  1. A library for interacting with Launcher features as a launched application, or for defining a launched Server.
  2. A minimal JAR that can be used to lookup your application, using Ivy, and load/run it.

This minimal JAR file is designed to be:

  • Less than 1MB in size
  • Able to launch any application on the JVM
  • Isolate classloaders and allow re-use of Scala library classloader for Scala applications.
  • Rebundled as a "wrapper" or "launcher" for your specific project.

To rebundle the JAR for your project, first you'll need a launcher properties file (specified here).

You can test your launch configuration file by running:

java -jar <raw launch jar> @<my launcher properties file>

Once you've verified your properties file is complete you can inject your launcher properties file into the "launch jar" as the file sbt/sbt.boot.properties. The launcher will look for this file in lieu of any command-line arguments to launch an application.

If you've not done this correctly, you will see the following:

$ java -jar target/sbt-launch-1.0.0-SNAPSHOT.jar
Error during sbt execution: Could not finder sbt launch configuration.  Searched classpath for:
	/sbt.boot.properties0.13.7
	/sbt/sbt.boot.properties0.13.7
	/sbt.boot.properties0.13
	/sbt/sbt.boot.properties0.13
	/sbt.boot.properties
	/sbt/sbt.boot.properties

Additionally, we recommend renaming your bundled launch jar for your application (e.g. activator calls theirs "activator-launch-.jar").

building

sbt -J-XX:MaxPermSize=256M

License

This software is under Apache 2.0 license.

launcher's People

Contributors

adpi2 avatar adriaanm avatar alexdupre avatar andreatp avatar avalade avatar benmccann avatar blaisorblade avatar dwijnand avatar eatkins avatar eed3si9n avatar fommil avatar gkossakowski avatar harrah avatar havocp avatar jaceklaskowski avatar jamesfe avatar jroper avatar jsuereth avatar mallman avatar marcospereira avatar melezov avatar mkurz avatar pauldraper avatar retronym avatar rtyley avatar sethtisue avatar szeiger avatar vjovanov avatar willb avatar xuwei-k avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.