@kenny I'm struggling a bit here.
lib/FB53F8539E7FCB8F093A56E138112056EC1DC809EBB020B59D8A36A5EBAC37E0-logback-classic-1.2.3.jar
lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar
Are in my jar too.
{:paths ["src"]
:deps
{org.clojure/clojure {:mvn/version "1.9.0"}
ch.qos.logback/logback-classic {:mvn/version "1.2.3"}
org.clojure/tools.logging {:mvn/version "0.4.1"}}
:aliases
{:pack
{:extra-deps {pack/pack.alpha {:git/url "<https://github.com/juxt/pack.alpha.git>"
:sha "d16bb29fa1581519c2659aed3c94e9a22a0329b8"
:exclusions [org.slf4j/slf4j-nop]}}
:main-opts ["-m" "mach.pack.alpha.one-jar"
"command-processor-standalone.jar"]}}}
Is my deps.edn. My foo/-main
function looks like so:
(defn -main
[& args]
(log/info "Hello, world"))
and no error about logback when running it:
❯ java -jar command-processor-standalone.jar -m foo
08:04:58.010 [main] INFO foo - Hello, world
If I start a repl I can do
user=> (import 'ch.qos.logback.core.AppenderBase)
ch.qos.logback.core.AppenderBase
And all is fine.@kenny if you run:
java -Done-jar.verbose=true -jar command-processor-standalone.jar -e "(import 'ch.qos.logback.core.AppenderBase)"
You will get a lot of output, but do you see:
JarClassLoader: findClass(ch.qos.logback.core.AppenderBase)
JarClassLoader: found ch.qos.logback.core.AppenderBase in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.AppenderBase)
JarClassLoader: findClass(ch.qos.logback.core.Appender)
JarClassLoader: found ch.qos.logback.core.Appender in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.Appender)
JarClassLoader: findClass(ch.qos.logback.core.spi.LifeCycle)
JarClassLoader: found ch.qos.logback.core.spi.LifeCycle in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.LifeCycle)
JarClassLoader: findClass(ch.qos.logback.core.spi.ContextAware)
JarClassLoader: found ch.qos.logback.core.spi.ContextAware in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.ContextAware)
JarClassLoader: findClass(ch.qos.logback.core.spi.FilterAttachable)
JarClassLoader: found ch.qos.logback.core.spi.FilterAttachable in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.FilterAttachable)
JarClassLoader: findClass(ch.qos.logback.core.spi.ContextAwareBase)
JarClassLoader: found ch.qos.logback.core.spi.ContextAwareBase in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.ContextAwareBase)
Or something similar?It should be towards the end.
@dominicm Yes. At the very end of the output, I get:
JarClassLoader: findClass(ch.qos.logback.core.AppenderBase)
JarClassLoader: found ch.qos.logback.core.AppenderBase in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.AppenderBase)
JarClassLoader: findClass(ch.qos.logback.core.Appender)
JarClassLoader: found ch.qos.logback.core.Appender in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.Appender)
JarClassLoader: findClass(ch.qos.logback.core.spi.LifeCycle)
JarClassLoader: found ch.qos.logback.core.spi.LifeCycle in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.LifeCycle)
JarClassLoader: findClass(ch.qos.logback.core.spi.ContextAware)
JarClassLoader: found ch.qos.logback.core.spi.ContextAware in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.ContextAware)
JarClassLoader: findClass(ch.qos.logback.core.spi.FilterAttachable)
JarClassLoader: found ch.qos.logback.core.spi.FilterAttachable in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.FilterAttachable)
JarClassLoader: findClass(ch.qos.logback.core.spi.ContextAwareBase)
JarClassLoader: found ch.qos.logback.core.spi.ContextAwareBase in codebase 'lib/5946D837FE6F960C02A53EDA7A6926ECC3C758BBDD69AA453EE429F858217F22-logback-core-1.2.3.jar'
JarClassLoader: defineClass(ch.qos.logback.core.spi.ContextAwareBase)
ch.qos.logback.core.AppenderBase
huh! Looks like AppenderBase is findable by clojure.main then!
I'm a bit stuck at this point. I think the next thing to start trying would be to figure out what function call(s) are triggering the error.