jclouds-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Max Countryman <m...@me.com>
Subject Re: Trouble compiling JClouds with Clojure
Date Sun, 08 Sep 2013 04:46:49 GMT
Hi Everett,

Thanks for the quick response. I've tried updating to 1.6.2-incubating but still seem to receive
the same error.

From inside the compiled jar I tried calling:

(clojure.pprint/pprint (.getURLs (java.lang.ClassLoader/getSystemClassLoader))).

This was the result:

[#<URL file:/Users/max/Documents/projects/my-app/target/my-app-0.1.0-SNAPSHOT-standalone.jar>]

I'm wondering if this could have something to do with AOT complication given that it works
fine from the repl?

Thanks,


Max

On Sep 7, 2013, at 7:28 PM, Everett Toews <everett.toews@RACKSPACE.COM> wrote:

> It means that the cloudfiles-us JAR isn't contained on your classpath. Although [org.jclouds/jclouds-allblobstore
"1.6.0"] should contain it. Can you list your classpath from within your app or see what leiningen
is using for the classpath?
> 
> You might also want to try [org.apache.jclouds/jclouds-allblobstore "1.6.2-incubating"]
as that's our most recent release.
> 
> HTH,
> Everett
> 
> 
> On Sep 7, 2013, at 9:12 PM, Max Countryman wrote:
> 
>> Hi all,
>> 
>> I am attempting to compile a jar via leiningen's uberjar command that uses JCloud's
org.jclouds.blobstore2.
>> 
>> The trouble I'm running into is that it seems the providers list isn't populated.
Interestingly this works fine from the repl, but the compiled jar throws this error:
>> 
>> Exception in thread "main" java.util.NoSuchElementException: key [cloudfiles-us]
not in the list of providers or apis: {providers=[hpcloud-objectstorage], apis=[atmos]}
>> 	at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:178)
>> 	at org.jclouds.blobstore2$blobstore.doInvoke(blobstore2.clj:103)
>> 	at clojure.lang.RestFn.invoke(RestFn.java:445)
>> 	at stint_uploader.core$_main.invoke(core.clj:40)
>> 	at clojure.lang.AFn.applyToHelper(AFn.java:159)
>> 	at clojure.lang.AFn.applyTo(AFn.java:151)
>> 	at stint_uploader.core.main(Unknown Source)
>> 
>> Here's a simple example:
>> 
>> (ns my-app.core
>> (:require [org.jclouds.blobstore2 :refer :all])
>> (:gen-class))
>> 
>> (defn -main []
>> (blobstore "cloudfiles-us" "foo" "bar"))
>> 
>> And the project.clj would look something like:
>> 
>> (defproject my-app "0.1.0-SNAPSHOT"
>> :description "FIXME: write description"
>> :url "http://example.com/FIXME"
>> :license {:name "Eclipse Public License"
>>           :url "http://www.eclipse.org/legal/epl-v10.html"}
>> :dependencies [[org.clojure/clojure "1.4.0"]
>>                [org.clojure/tools.logging "0.2.3"]
>>                [org.clojure/core.incubator "0.1.0"]
>>                [org.jclouds/jclouds-allblobstore "1.6.0"]]
>> :main my-app.core)
>> 
>> Any advice is greatly appreciated,
>> 
>> Thanks,
>> 
>> 
>> Max
> 


Mime
View raw message