Having problems trying to create a simple embedded merlin app.

Took the sample embedded appliciton and modified slightly.

Currently get the following problem

rg.apache.avalon.repository.RepositoryException: Unable to establish a
factory for the supplied artifact:
 artifact: artifact:merlin/merlin-impl#3.3-SNAPSHOT
 build: 20040401.041549
 factory: org.apache.avalon.merlin.impl.DefaultFactory
 source: file:/H:/merlin/system/merlin/jars/merlin-impl-3.3-SNAPSHOT.jar
 repository: H:\merlin\system, http://www.dpml.net/,
http://www.ibiblio.org/maven/
 at
org.apache.avalon.repository.main.DefaultBuilder.<init>(DefaultBuilder.java:
265)
 at
org.apache.avalon.repository.main.DefaultBuilder.<init>(DefaultBuilder.java:
210)
 at
org.apache.avalon.repository.main.DefaultInitialContext.newBuilder(DefaultIn
itialContext.java:318)
 at example.app.MerlinStandAlone.main(MerlinStandAlone.java:51)
Caused by: java.lang.NoClassDefFoundError:
org/apache/avalon/composition/model/DeploymentModel
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
 at java.lang.Class.getConstructor0(Class.java:1762)
 at java.lang.Class.getConstructor(Class.java:1002)
 at
org.apache.avalon.repository.main.AbstractBuilder.createDelegate(AbstractBui
lder.java:93)
 at
org.apache.avalon.repository.main.DefaultBuilder.<init>(DefaultBuilder.java:
252)
 ... 3 more

The libraries I include are

  a.. zip:///[H%|/merlin/system/merlin/jars/merlin-impl-3.3-SNAPSHOT.jar]
  b..
zip:///[H%|/merlin/system/avalon-repository/jars/avalon-repository-main-2.0.
0.jar]
  c..
zip:///[H%|/merlin/system/avalon-repository/jars/avalon-repository-util-2.0.
0.jar]
  d..
zip:///[H%|/merlin/system/avalon-composition/jars/avalon-composition-impl-2.
0-SNAPSHOT.jar]
  e.. zip:///[H%|/merlin/system/merlin/jars/merlin-api-3.3-SNAPSHOT.jar]
  f.. zip:///[H%|/merlin/system/merlin/jars/merlin-cli-3.3.0.jar]
  g..
zip:///[H%|/merlin/system/avalon-composition/jars/avalon-composition-api-2.0
-SNAPSHOT.jar]
  h..
zip:///[H%|/merlin/system/avalon-composition/jars/avalon-composition-spi-2.0
-SNAPSHOT.jar]
Sample Code:

package example.app;


import java.io.File;
import java.util.Map;

import org.apache.avalon.repository.Artifact;
import org.apache.avalon.repository.provider.Builder;
import org.apache.avalon.repository.provider.Factory;
import org.apache.avalon.repository.provider.InitialContextFactory;
import org.apache.avalon.repository.provider.InitialContext;
import org.apache.avalon.repository.main.DefaultInitialContextFactory;
import org.apache.avalon.repository.Artifact;

import org.apache.avalon.merlin.Kernel;

public class MerlinStandAlone
{
    public static void main( String[] args ) throws Exception
    {
        InitialContextFactory initial =
          new DefaultInitialContextFactory( "merlin" );
        File home = initial.getHomeDirectory();
        initial.setCacheDirectory( new File( home, "system" ) );
        InitialContext context = initial.createInitialContext();

        String spec = "artifact:merlin/merlin-impl#3.3-SNAPSHOT";

        Artifact artifact = Artifact.createArtifact( spec );
        Builder builder = context.newBuilder( artifact );

        Factory factory = builder.getFactory();
        Map criteria = factory.createDefaultCriteria();
        criteria.put( "merlin.debug", "true" );
        criteria.put( "merlin.info", "true" );

        //factory.create( criteria );  // --> (C)

        Kernel kernel = (Kernel)factory.create( criteria ); // --> (B)
        kernel.startup();  // --> (A)

   }
}

If I replace lines (A) and (B) I get the following which seems works, but
don't undertstand why it does not work with lines (A) and (B) when I'm
creating a kernel object directly.

With line (A) uncommented I get the following
D:\JBuilder9\jdk1.4\bin\javaw -classpath
"H:\dev\example\example\classes;H:\merlin\system\avalon-repository\jars\aval
on-repository-main-2.0.0.jar;H:\merlin\system\avalon-repository\jars\avalon-
repository-util-2.0.0.jar;D:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;
D:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;D:\JBuilder9\jdk1.4
\jre\lib\charsets.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;D:\JBuilder9
\jdk1.4\jre\lib\ext\ldapsec.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\localedata.j
ar;D:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;D:\JBuilder9\jdk1.4\j
re\lib\im\indicim.jar;D:\JBuilder9\jdk1.4\jre\lib\jaws.jar;D:\JBuilder9\jdk1
.4\jre\lib\jce.jar;D:\JBuilder9\jdk1.4\jre\lib\jsse.jar;D:\JBuilder9\jdk1.4\
jre\lib\rt.jar;D:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;D:\JBuilder9\jdk1.
4\lib\dt.jar;D:\JBuilder9\jdk1.4\lib\htmlconverter.jar;D:\JBuilder9\jdk1.4\l
ib\tools.jar"  -Dxmerlin.debug=true -Dxmerlin.server
example.app.MerlinStandAlone
[DEBUG  ] (kernel.logger): logging system established
[DEBUG  ] (kernel.logger): adding category [kernel]
[DEBUG  ] (kernel): logging system established
[DEBUG  ] (kernel): repository established: C:\Documents and
Settings\Administrator\.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} == H:\dev\example\example
  ${user.home} == C:\Documents and Settings\Administrator

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

  ${merlin.lang} == null
  ${merlin.home} == H:\merlin
  ${merlin.system} == H:\merlin\system
  ${merlin.config} == H:\merlin\config
  ${merlin.kernel} == file:/H:/merlin/config/kernel.xml
  ${merlin.logging.implementation} ==
artifact:avalon-logging/avalon-logkit-impl#1.0-SNAPSHOT
  ${merlin.logging.config} == null
  ${merlin.runtime} ==
artifact:avalon-activation/avalon-activation-impl#2.0-SNAPSHOT
  ${merlin.override} == null
  ${merlin.dir} == H:\dev\example\example
  ${merlin.temp} == C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
  ${merlin.context} == H:\dev\example\example\home
  ${merlin.anchor} == H:\dev\example\example
  ${merlin.info} == true
  ${merlin.debug} == true
  ${merlin.audit} == false
  ${merlin.server} == true
  ${merlin.autostart} == true
  ${merlin.code.security.enabled} == false
  ${merlin.deployment.timeout} == 1000
  ${merlin.repository} == C:\Documents and
Settings\Administrator\.avalon\repository
  ${merlin.repository.hosts} ==
http://www.dpml.net/,http://www.ibiblio.org/maven/
  ${merlin.deployment} ==

-----------------------------------------------------------

[INFO   ] (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: ${user.dir}
[DEBUG  ] (classloader): classpath:
[DEBUG  ] (classloader.types): type install count: 0
[DEBUG  ] (kernel): state: initializing
[DEBUG  ] (kernel): kernel established
[DEBUG  ] (kernel): state: initialized
[INFO   ] (kernel): install phase
[DEBUG  ] (kernel): customize phase
[DEBUG  ] (kernel): startup phase
[DEBUG  ] (kernel): application assembly
[DEBUG  ] (kernel): state: assembly
[DEBUG  ] (): assembly phase
[DEBUG  ] (kernel): application deployment
[DEBUG  ] (kernel): state: deployment
[DEBUG  ] (): commissioner disposal
[DEBUG  ] (): commissioning thread started
[DEBUG  ] (kernel): state: started



The libraries I include to get (A) to work are

/merlin/system/avalon-repository/jars/avalon-repository-main-2.0.0.jar]
merlin/system/avalon-repository/jars/avalon-repository-util-2.0.0.jar]










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

Reply via email to