I am trying to learn how to use Avalon and Merlin
using the latest versions built from the svn
repository.  However, when I run the tutorials I keep
getting a message that the classloader could not be
created due to an unknown artifact error.

Here is what I have done from scratch:
1.  Installed Magic by downloading the setup.xml file
from:
http://svn.apache.org/repos/asf/avalon/trunk/tools/magic/setup.xml
Then in the directory containing this file:
$ ant -buildfile setup.xml

2.  Installed Avalon from svn
$ svn co http://svn.apache.org/repos/asf/avalon/trunk
avalon
$ cd avalon
$ ant setup
$ ant

3.  Installed Merlin from the zip file just built in:
avalon/runtime/merlin/cli/target/deliverables/dist/
ie. unziped the avalon-merlin-cli-SNAPSHOT.zip file to
~/opt/merlin/

4.  Set required environment variables
$ export MERLIN_HOME="$HOME/opt/merlin"
$ export
PATH=/usr/bin:/bin:/usr/bin/X11:$ANT_HOME/bin:$MERLIN_HOME/bin

Nb. I have Ant 1.6.1 installed and J2SDK 1.4.2_04
 and I am running a Linux 2.6.6 kernel on a Debian
Testing system.

Now I can run the hello tutorial OK by:
$ cd ~/opt/avalon/planet/tutorials/hello
$ ant clean
$ ant
$ merlin -execute target/classes
This works fine.

However, if I try running the next tutorial or any
other for that matter, I get errors about unknown
artifacts.  I checked and I do have the artifacts that
merlin is looking for installed in the
$HOME/.magic/main cache.  For example,
avalon-framework-impl-SNAPSHOT.jar is located in the
directory:
/home/mark/.magic/main/avalon/framework/jars/
but merlin doesn't seem to be able to find it
according to the error below.

Thanks if anyone can point out where I am going wrong.


Here is the output from merlin with -debug and -info
switches:
$ cd
~/opt/avalon/planet/tutorials/configuration/injection/
$ ant clean
$ ant
$ merlin target/classes -execute -debug -info
Starting Merlin SNAPSHOT.
====================
             Platform: Linux
            Java Home: /opt/j2sdk
          Merlin Home: /home/mark/opt/merlin
      Security policy:
/home/mark/opt/merlin/bin/security.policy
          JVM Options:
     Merlin CLasspath:
/home/mark/opt/merlin/system/avalon/repository/jars/avalon-repository-main-SNAPSHOT.jar:/home/mark/opt/merlin/system/avalon/repository/jars/avalon-repository-spi-2.0.0.jar:/home/mark/opt/merlin/system/avalon/repository/jars/avalon-repository-api-SNAPSHOT.jar:/home/mark/opt/merlin/system/avalon/repository/jars/avalon-repository-util-2.0.0.jar:/home/mark/opt/merlin/system/avalon/util/jars/avalon-util-exception-1.0.0.jar:/home/mark/opt/merlin/system/avalon/util/jars/avalon-util-env-1.1.1.jar:/home/mark/opt/merlin/system/avalon/util/jars/avalon-util-i18n-1.0.0.jar:/home/mark/opt/merlin/system/avalon/util/jars/avalon-util-criteria-1.1.0.jar:/home/mark/opt/merlin/system/avalon/util/jars/avalon-util-defaults-SNAPSHOT.jar:/home/mark/opt/merlin/system/commons-cli/jars/commons-cli-1.0.jar:/home/mark/opt/merlin/system/avalon/merlin/jars/avalon-merlin-cli-SNAPSHOT.jar
     Merlin Arguments:  target/classes -execute -debug
-info

[DEBUG  ] (kernel.logger): logging system established
[DEBUG  ] (kernel.logger): adding category [kernel]
[DEBUG  ] (kernel): logging system established
[DEBUG  ] (kernel): repository established:
/home/mark/.avalon/repository, http://www.dpml.net/,
http://www.ibiblio.org/maven/
[DEBUG  ] (kernel.logger): adding category [kernel]
[INFO   ] (kernel): info report
-----------------------------------------------------------
Merlin Kernel Environment Listing
-----------------------------------------------------------

  ${user.dir} ==
/home/mark/opt/avalon/planet/tutorials/configuration/injection
  ${user.home} == /home/mark

  ${avalon.repository.cache} ==
/home/mark/opt/merlin/system
  ${avalon.repository.online} == true
  ${avalon.repository.hosts} ==
http://www.dpml.net,http://www.ibiblio.org/maven

  ${merlin.lang} == null
  ${merlin.home} == /home/mark/opt/merlin
  ${merlin.system} == /home/mark/opt/merlin/system
  ${merlin.config} == /home/mark/opt/merlin/config
  ${merlin.kernel} ==
file:/home/mark/opt/merlin/config/kernel.xml
  ${merlin.logging.implementation} ==
artifact:jar:avalon/logging/avalon-logging-logkit-impl#SNAPSHOT
  ${merlin.logging.config} == null
  ${merlin.runtime} ==
artifact:jar:avalon/activation/avalon-activation-impl#SNAPSHOT
  ${merlin.override} == null
  ${merlin.dir} ==
/home/mark/opt/avalon/planet/tutorials/configuration/injection
  ${merlin.temp} == /tmp
  ${merlin.context} ==
/home/mark/opt/avalon/planet/tutorials/configuration/injection/home
  ${merlin.anchor} ==
/home/mark/opt/avalon/planet/tutorials/configuration/injection
  ${merlin.info} == true
  ${merlin.debug} == true
  ${merlin.audit} == false
  ${merlin.server} == false
  ${merlin.autostart} == true
  ${merlin.code.security.enabled} == false
  ${merlin.deployment.timeout} == 1000
  ${merlin.repository} ==
/home/mark/.avalon/repository
  ${merlin.repository.hosts} ==
http://www.dpml.net/,http://www.ibiblio.org/maven/
  ${merlin.deployment} ==
file:${merlin.dir}/target/classes/

-----------------------------------------------------------
[DEBUG  ] (kernel): building application model
[DEBUG  ] (kernel.logger): adding root category
[DEBUG  ] (kernel.logger): adding root category
[DEBUG  ] (kernel.logger): adding root category
[DEBUG  ] (classloader): base: ${merlin.dir}
[DEBUG  ] (classloader): classpath:
[DEBUG  ] (classloader.types): type install count: 0
[DEBUG  ] (classloader.types): type registration
complete
[DEBUG  ] (kernel): state: initializing
[DEBUG  ] (kernel): kernel established
[DEBUG  ] (kernel): state: initialized
[DEBUG  ] (kernel): install phase
[DEBUG  ] (kernel): installing:
file:${merlin.dir}/target/classes/
[DEBUG  ] (): including composite block:
file:/home/mark/opt/avalon/planet/tutorials/configuration/injection/target/classes/BLOCK-INF/block.xml
[DEBUG  ] (): installing: tutorial
[DEBUG  ] (kernel.logger): adding category [tutorial]
[DEBUG  ] (kernel.logger): adding category [tutorial]
[DEBUG  ] (tutorial): creating child classloader for:
[tutorial]
[DEBUG  ] (tutorial.classloader): base: ${merlin.dir}
[DEBUG  ] (tutorial.classloader): implicit entries: 1
---- exception report
----------------------------------------------------------
Exception: org.apache.avalon.merlin.KernelException
Message: Install failure:
file:/home/mark/opt/avalon/planet/tutorials/configuration/injection/target/classes/
---- cause
---------------------------------------------------------------------
Exception:
org.apache.avalon.composition.model.ModelException
Message: Could not create classloader.
---- cause
---------------------------------------------------------------------
Exception:
org.apache.avalon.repository.RepositoryException
Message: Unknown artifact:
[artifact:jar:avalon/framework/avalon-framework-impl#SNAPSHOT].
---- stack trace
---------------------------------------------------------------
org.apache.avalon.repository.RepositoryException:
Unknown artifact:
[artifact:jar:avalon/framework/avalon-framework-impl#SNAPSHOT].
org.apache.avalon.repository.util.LoaderUtils.getResource(Unknown
Source)
org.apache.avalon.repository.impl.DefaultRepository.getResource(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultClassLoaderModel.createClassPath(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultClassLoaderModel.<init>(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultClassLoaderModel.createClassLoaderModel(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.createContainmentModel(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.createContainmentModel(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.addContainmentModel(Unknown
Source)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.addContainmentModel(Unknown
Source)
org.apache.avalon.merlin.impl.DefaultFactory.create(Unknown
Source)
org.apache.avalon.merlin.cli.Main.<init>(Unknown
Source)
org.apache.avalon.merlin.cli.Main.main(Unknown Source)
--------------------------------------------------------------------------------

[DEBUG  ] (kernel): shutdown event
[DEBUG  ] (kernel): disposal
xargs: /opt/j2sdk/bin/java: exited with status 255;
aborting


Any ideas?

Regards.
Mark.

Find local movie times and trailers on Yahoo! Movies.
http://au.movies.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to