В качестве альтернативы ответу Фабиана, если вы используете Maven, вы можете использовать ассемблер-плагин.Что-то вроде:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>package-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifestEntries>
<SplashScreen-Image>splash.png</SplashScreen-Image>
</manifestEntries>
<manifest>
<mainClass>se.aptly.epm.main.PrognosisApp</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
Это упакует все ваши deps, включая scala-library.jar (если оно в ваших deps), но сгладит все распакованные классы.Это связано с тем, что выполнимые банки не могут из коробки использовать код в банках в банке.
Чтобы это работало (что лучше), используйте http://code.google.com/p/onejar-maven-plugin/, Я думаю, что это оболочка для Majo Mojo для одного-jar: http://one -jar.sourceforge.net /
Существует также плагин sbt для одного jar: https://github.com/sbt/sbt-onejar