coursier
sbt-assembly


coursier | sbt-assembly | |
---|---|---|
11 | 6 | |
2,071 | 1,952 | |
0.5% | 0.1% | |
9.7 | 6.8 | |
6 days ago | 29 days ago | |
Scala | Scala | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coursier
-
Java in the Small
https://get-coursier.io/
Its a cli based artifact fetching tool for the JVM ecosystem, and you can have it just make up classpath strings for you, i.e., to use some Apache dependencies with the single file simplified java running you could just:
java --enable-preview --class-path (cs fetch --classpath org.apache.commons:commons-collections4:4.4) program.java
Also, maybe do have a look at scala-cli:
-
babashka not working - Fatal error: Failed to create the main Isolate. (code 8)
This is an upstream page size issue, equivalent issue here: https://github.com/coursier/coursier/issues/2636
-
A new, reworked ScalaDoc is here!
I feel like this is already is the case, one can use coursier https://get-coursier.io/ or scala-cli to get started with Scala extremely fast.
-
Scala is close to having an amazing Jupyter Notebook experience for data science workflows
I had a nice workflow installing different Java versions using SDKMAN but switched to Coursier because that't what's recommended in the Almond installation guide. In order to run `jupter lab` and start up the notebook environment, I need to separately install Jupyter Lab via conda (and activate that conda environment).
-
Splitting software into multiple applications and libraries. Most practical ways!
Could a Java project use a similar scheme? Probably, but the practicality of that is dependent on programatic resolution tools like coursier which don't exist in a convenient form for Java programmers quite yet.
-
5 Useful Database Command Line Tools
Shell for issuing SQL to relational databases via JDBCIf you have Coursier installed, you can quickly connect to a demo Hypersonic database with:
-
Getting an error installing metals for lsp-mode
This seems the same thing: - https://github.com/oracle/graal/issues/4479 - https://github.com/coursier/coursier/issues/2395
-
Scala setup in Ubuntu
I use coursier to install scala. https://get-coursier.io/
-
Some Scala 3 local REPL changes
If you truly must avoid it, then take a look at coursier and ammonite: https://get-coursier.io/ and cs launch com.lihaoyi:ammonite_2.13.1:2.0.4 -M ammonite.Main
- Install Scala 3 on Mac m1
sbt-assembly
-
Trouble with sbt-native-packager
sbt-assembly is still my go-to. So what I'd prefer is the combination of sbt-assembly (to build my .jar that I can just java -jar anytime I want) and sbt-jib (to construct my OCI image including my assembly .jar for deployment in some container orchestration environment).
- sbt-assembly 2.0.0-RC1 released
-
SBT error when running package application: java.lang.RuntimeException: No main class detected.
You may also use sbt-assembly to produce an uber JAR that embeds the Scala stdlib together with your code, which means that now for running your program you only need a JRE like java -jar app-assembly.jar. This option is great because now if you start adding dependencies to your project those are also included in this massive JAR.
-
Welcome to JAR Hell, Part 2: Deployment Strategies
Sbt-assembly defaults to silently concatenating configs. But even if it didn't, the configs wouldn't be in any particular order when resolving.
-
How to handle sbt deduplication errors on module-info.class files
Ticket of record is https://github.com/sbt/sbt-assembly/issues/391
-
Building native images and compiling with GraalVM and sbt
With the sbt-assembly plugin you can create JAR-files with all of its dependencies (fat JARs). sbt assembly creates this target/scala-2.12/apply-at-vdb-assembly-0.1.0-SNAPSHOT.jar which has a size of around 42MB:
What are some alternatives?
sbt-docker - Create Docker images directly from sbt
sbt-native-packager - sbt Native Packager
sbt-groll - sbt plugin to roll the Git history
sbt-revolver - An SBT plugin for dangerously fast development turnaround in Scala
sbt-release - A release plugin for sbt
sbt-pack - A sbt plugin for creating distributable Scala packages.
sbt-dependency-graph - sbt plugin to create a dependency graph for your project
sbt-buildinfo - I know this because build.sbt knows this.
sbt-dependency-check - SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow:

