Exporting
If you want the generated jar or native binary you can use jbang export local <script>
to get it copied (exported)
for you to use directly.
Note, the local generated jar will have classpath references that are machine dependent. If you want a portable
jar use jbang export portable <script>
and the dependent jars will be put in lib
directory and
generated jar will have relative references to the jars in the lib
folder.
Exporting to Maven Repository
If your application or script need to be used from another java project it can be beneficial to publish your jar into a maven repository.
You can use jbang export mavenrepo -Dgroup=dk.xam yourapp.java
to have it installed in your default maven repository, or use -O target
to get it exported to a directory named target
.
You can control what maven coordinate will be used via properties named group
, artifact
and version
.
Publish via jitpack
You can use export mavenrepo
to publish any github hosted jbang app into a maven project by using a jitpack.yml
as follows:
before_install:
- curl -Ls https://sh.jbang.dev | bash -s - app setup
install:
- ~/.jbang/bin/jbang export mavenrepo --force -O target -Dgroup=$GROUP -Dartifact=$ARTIFACT -Dversion=$VERSION hello.java
- mkdir -p ~/.m2/repository
- cp -rv target/* ~/.m2/repository/
You should only need to change hello.java
to match your application/script.
You can read more about how jitpack handle builds at https://jitpack.io/docs/BUILDING/.