[armedbear-devel] installing java dependencies with :mvn ASDF component
avodonosov at yandex.ru
Fri Aug 9 21:00:26 UTC 2013
I need to import data from Excel, and following Hans Hübner's article
for how to do this with ABCL:
The Hans' code depends on Apache POI library.
I saw that ABCL comes from abcl-asdf contrib, which extends ASDF by adding a :mnv component,
so that we can specify :mvn artifact as a dependency of our ASDF system.
I would like to use this facility to automatically install the POI .jar files.
I created an .asdf file with this content:
:components ((:mvn "org.apache.poi/poi-ooxml/3.9")))
Then I invoke ABCL:
C:\Users\anton\projects\abcl\abcl.bat --batch --eval "(require :abcl-contrib") --eval "(pushnew \"./\" asdf:*central-registry* :test #'equal)" --eval "(ql:quickload :excel-s)"
It fails with exception: java.lang.ClassNotFoundException: aether.util.artifact.DefaultArtifact
This exception is throw by abcl-asdf::resolve-dependencies function, defined in the
Maven is installed on my machine, including the /lib/ directory containing the Aether API jars.
I performed some investigation and tried to ensure the Aether .jars are added to classpath:
(let ((*default-pathname-defaults* abcl-asdf::*mvn-libs-directory*))
(dolist (jar-pathname (or (directory "**/*.jar")
(error "no jars found in ~S - expected Apache Maven /libs/ directory ~
(java:add-to-classpath (namestring jar-pathname))))
Still I have the same error - class aether.util.artifact.DefaultArtifact not found.
Is the way I am trying to install java libs expected to work, and how to find the problem?
More information about the armedbear-devel