The problem is now resolved. I googlednet/sf/cglib/proxy/Callback and found the missing jar file.
Regards to everyone. Fernando Cabredo ________________________________ From: Fernando Cabredo <[email protected]> To: [email protected] Sent: Tuesday, March 3, 2009 9:50:47 AM Subject: NoClassDefFoundError on OCM Test Hi, I would like to get some help that is causing my OCM test. Here is the error: Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Callback at org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.<init>(ObjectContentManagerImpl.java:125) at com.daraga.jackrabbit.Main.main(Main.java:97) Caused by: java.lang.ClassNotFoundException: net.sf.cglib.proxy.Callback at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 2 more And my code are as follows: import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.jcr.LoginException; import javax.jcr.Repository; import javax.jcr.Session; import javax.jcr.SimpleCredentials; import javax.servlet.ServletException; import org.apache.jackrabbit.ocm.exception.RepositoryException; import org.apache.jackrabbit.ocm.manager.ObjectContentManager; import org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl; import org.apache.jackrabbit.ocm.mapper.Mapper; import org.apache.jackrabbit.ocm.mapper.impl.annotation.AnnotationMapperImpl; import com.daraga.jackrabbit.model.Article; import com.daraga.jackrabbit.model.ArticlePhotos; import com.daraga.jackrabbit.model.Author; import com.daraga.jackrabbit.model.Category; import com.daraga.jackrabbit.model.Photos; import com.daraga.jackrabbit.model.Section; import org.apache.jackrabbit.rmi.repository.URLRemoteRepository; public class Main { private static Session session; public String loginRepository (String repositoryUrl, String username, String password){ String str; System.out.println("<------------JackrabbitService---------->"); try { SimpleCredentials cred = new SimpleCredentials(username, password.toCharArray()); Repository repository = new URLRemoteRepository(repositoryUrl); try { session = repository.login(cred, null); } catch (LoginException e) { throw new ServletException(e); } catch (RepositoryException e) { throw new ServletException(e); } } catch (Exception e) { e.toString(); // TODO: handle exception } try { String user = session.getUserID(); str = "[Status]Login Successful[/Status]"; }finally{ //TODO on Login of user } return str; } public static void main(String[] args) { String repositoryUrl = "http://localhost:8080/jackrabbit-webapp-1.5.2/rmi"; String username = "admin"; String password = "admin"; try { SimpleCredentials cred = new SimpleCredentials(username, password.toCharArray()); Repository repository = new URLRemoteRepository(repositoryUrl); try { session = repository.login(cred, null); } catch (LoginException e) { throw new ServletException(e); } catch (RepositoryException e) { throw new ServletException(e); } } catch (Exception e) { e.toString(); } String str; try { String user = session.getUserID(); System.out.println("str --->"+user); str = "[Status]Login Successful[/Status]"; }finally{ //TODO on Login of user } List<Class> myclasses = new ArrayList<Class>(); myclasses.add(Article.class); myclasses.add(ArticlePhotos.class); myclasses.add(Author.class); myclasses.add(Category.class); myclasses.add(Photos.class); myclasses.add(Section.class); Mapper mapper = new AnnotationMapperImpl(myclasses); ObjectContentManager ocm = new ObjectContentManagerImpl(session, mapper); Article article = new Article(); article.setPath("/articles"); article.setTitle("Public Announcement"); article.setContent("Urgently Needed"); article.setAuthorid(100); article.setSectionid(1); article.setDatecreated(new Date()); ocm.insert(article); ocm.save(); System.out.println("Retrieve a press release from the repository"); article = (Article) ocm.getObject("/articles"); System.out.println("Article title : " + article.getTitle()); } } Any help will be much appreciated. Fernando Cabredo
