This appears to be true, eg:
cat <<eof > Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!"); }}
eof
javac Hello.java
echo "Main-Class: Hello" > manifest.mf
jar cvfm hello.jar manifest.mf Hello.class
time java -jar hello.jar
Hello, world!
real 0m0.153s
user 0m0.132s
sys 0m0.020s
vs:
lein new hello
cd hello
# Pesty s-expressions, so hard to work with... ;-)
cat <<eof|patch -p0
--- project.clj 2015-04-16 04:13:09.734160136 +0200
+++ project.clj.patch 2015-04-16 04:09:33.809504079 +0200
@@ -3,4 +3,5 @@
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
+ :main hello.core
:dependencies [[org.clojure/clojure "1.6.0"]])
eof
cat<<eof > src/hello/core.clj
(ns hello.core
(:gen-class))
(defn -main
"I don't do a whole lot."
[]
(println "Hello, World!"))
eof
lein uberjar
time java -jar target/hello-0.1.0-SNAPSHOT-standalone.jar
Hello, World!
real 0m1.060s
user 0m1.400s
sys 0m0.040s
(Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, SSD drive)