Where'd you derive that list of JAR files from? AFAIK, Jackrabbit
depends upon lucene-core-2.4.1, not 3.0.1. Also, you should be using the
JCR 2.0 JAR (although this wouldn't be the cause of this exception).
Justin
On 5/4/10 9:22 AM, Jenni P wrote:
> Hi All,
>
> I am getting NoSuchMethodError at Session session = repository.login(*
> new* SimpleCredentials("username", "password".toCharArray())); when running
> my below application. I have added below jar files to my application.Below
> is the sample application downloaded from the location
> http://jackrabbit.apache.org/first-hops.html
>
> I am new to the Jackrabbit. Please guide me to run the application
> successfully.
>
> Thanks in advance.
>
>
>
> *JAR FILES ADDED TO APPLICATION*:
> jackrabbit-jcr-commons-2.0.0.jar,jackrabbit-api-2.0.0.jar,
> jackrabbit-core-2.0.0.jar, jackrabbit-jca-2.0.0.jar, jcr-1.0.jar,
> lucene-core-3.0.1.jar.
>
>
>
> *ERROR* :
>
> Exception in thread "main" java.lang.NoSuchMethodError:
> org.apache.lucene.analysis.standard.StandardAnalyzer.<init>([Ljava/lang/String;)V
>
> at org.apache.jackrabbit.core.query.lucene.JackrabbitAnalyzer.<init>(*
> JackrabbitAnalyzer.java:41*)
>
> at org.apache.jackrabbit.core.query.lucene.SearchIndex.<init>(*
> SearchIndex.java:205*)
>
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(*Native Method*)
>
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
>
> at java.lang.reflect.Constructor.newInstance(Unknown Source)
>
> at java.lang.Class.newInstance0(Unknown Source)
>
> at java.lang.Class.newInstance(Unknown Source)
>
> at org.apache.jackrabbit.core.config.BeanConfig.newInstance(*
> BeanConfig.java:186*)
>
> at
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(
> *RepositoryConfigurationParser.java:627*)
>
> at org.apache.jackrabbit.core.config.RepositoryConfig.getQueryHandler(*
> RepositoryConfig.java:930*)
>
> at org.apache.jackrabbit.core.SearchManager.<init>(*SearchManager.java:173*)
>
> at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(*
> RepositoryImpl.java:698*)
>
> at org.apache.jackrabbit.core.RepositoryImpl.access$400(*
> RepositoryImpl.java:125*)
>
> at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(
> *RepositoryImpl.java:1868*)
>
> at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(
> *RepositoryImpl.java:2077*)
>
> at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(*
> RepositoryImpl.java:1996*)
>
> at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(*
> RepositoryImpl.java:535*)
>
> at org.apache.jackrabbit.core.RepositoryImpl.<init>(*RepositoryImpl.java:366
> *)
>
> at org.apache.jackrabbit.core.RepositoryImpl.create(*RepositoryImpl.java:673
> *)
>
> at org.apache.jackrabbit.core.TransientRepository$2.getRepository(*
> TransientRepository.java:231*)
>
> at org.apache.jackrabbit.core.TransientRepository.startRepository(*
> TransientRepository.java:259*)
>
> at org.apache.jackrabbit.core.TransientRepository.login(*
> TransientRepository.java:355*)
>
> at org.apache.jackrabbit.commons.AbstractRepository.login(*
> AbstractRepository.java:123*)
>
> at FirstHop.main(*FirstHop.java:20*)
>
> *APPLICATION CODE:*
>
>
>
> *import* javax.jcr.Repository;
>
> *import* javax.jcr.Session;
>
> *import* javax.jcr.SimpleCredentials;
>
> *import* javax.jcr.Node;
>
> *import* org.apache.jackrabbit.core.TransientRepository;
>
> /**
>
> * Second hop example. Stores, retrieves, and removes example content.
>
> */
>
> *public* *class* SecondHop {
>
> *public* *static* *void* main(String[] args) *throws* Exception {
>
> Repository repository = *new* TransientRepository();
>
> Session session = repository.login(*new* SimpleCredentials("username",
> "password".toCharArray()));
>
> *try* {
>
> Node root = session.getRootNode();
>
> // Store content
>
> Node hello = root.addNode("hello");
>
> Node world = hello.addNode("world");
>
> world.setProperty("message", "Hello, World!");
>
> session.save();
>
> // Retrieve content
>
> Node node = root.getNode("hello/world");
>
> System.*out*.println(node.getPath());
>
> System.*out*.println(node.getProperty("message").getString());
>
> // Remove content
>
> root.getNode("hello").remove();
>
> session.save();
>
> String name = repository.getDescriptor(Repository.*REP_VENDOR_URL_DESC*);
>
> System.*out*.println("name "+name);
>
> } *finally* {
>
> session.logout();
>
> }
>
> }
>
> }
>
>
>
> Thanks,
>
> Jenni
>