> -----Original Message-----
> From: mark mark [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 21, 2004 17:45
> To: [EMAIL PROTECTED]
> Subject: Unknown artifact errors
> 
> 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

You probably going to shoot me for this but all of the above is now
taken care of automatically by the 'ant setup' target.  Niclas updated
this yesterday and it seems to be reasonably solid. 

> $ 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.

It works because it has not repository related artifact dependencies.

> 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.

Sure - and apologies up-front, this is all sort of coming together as we
speak.  The problem your seeing is that the application repository cache
used by merlin is not the same as the cache used by magic.  To get
things sorted you need to synchronize these two.  The following
instructions should achieve that.  I imaging the next release will have
a bundled and totally synchronized Merlin + Magic.

Steps:

1. Define AVALON_HOME to refer to MAGIC_HOME
2. Rename ${magic.home}/main to ${magic.home}/repository
3. Add the following line in a file name ${magic.home}/user.properties

magic.cache = ${magic.home}/repository

<snip>

After doing the above make sure that the following statement when using
-info shows that the merlin.rpository is referencing the magic
repository.


>   ${merlin.repository} == /home/mark/.avalon/repository


Cheers, Steve.




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

Reply via email to