Web application con accesso al repository alfresco via JCR

cancel
Showing results for 
Search instead for 
Did you mean: 
pippobruco_ital
Member II

Web application con accesso al repository alfresco via JCR

Buongiorno a tutti.

Sto cercando di accedere al repository alfresco attraverso le api JCR con una semplice web application. In eclipse ho aggiunto al build path il progetto SDK AlfrescoEmbedded, in questo modo riesco a trovare gli import che mi occorrono:
import javax.jcr.*;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
[…]

Effettuato il deployment su tomcat mi accorgo che nella cartella WEB-INF/lib non vi sono le risorse jar da cui dipende la web application, di conseguenza la servlet di inizializzazione non trova gli oggetti spring e si blocca.

In eclipse ho provato a settare l'opzione per l'esportazione attraverso la funzionalità Deployment Assembly->Java Build Path Entries, ma nell'elenco non vi è alcun jar che possa scegliere.

Ho provato anche attraverso Deployment Assembly->Project senza alcun risultato.

Sono costretto ad inserire uno ad uno i jars che mi occorrono o c'è qualche altra maniera?

Usando lo stesso codice attraverso una tradizionale applicazione a linea di comando non ho lo stesso problema facendola girare all'interno di eclipse.

Grazie a chi potrà rispondermi e a chi leggerà.
3 Replies
openpj
Moderator
Moderator

Re: Web application con accesso al repository alfresco via JCR

Ti suggerisco di creare un progetto Java che non dipenda direttamente da Eclipse, ma che possa utilizzare uno standard affermato per poter gestire il ciclo di vita di un'applicazione J2EE. In questo modo l'applicazione sarà indipendente dall'IDE utilizzato e avrai come artifact finale della fase di building sempre lo stesso risultato utilizzando qualsiasi IDE.

Detto questo ti suggerisco caldamente di utilizzare Apache Maven per quanto riguarda tutta la gestione del ciclo di vita dell'applicazione.

Spero ti possa aiutare  Smiley Wink
pippobruco_ital
Member II

Re: Web application con accesso al repository alfresco via JCR

Ringraziamento:

Grazie per la pronta risposta. Per il momento, dato che sto solo provando le diverse API ho preferito caricare manualmente le dipendenze necessarie direttamente nel progetto. Però inizio a pensare che maven dia molta più flessibilità una volta che si sa usare.

Nuovo quesito:

Non so se continuare qua con una seconda domanda perché rispetto al titolo della discussione vado un po fuori tema, ci provo.

Ipotesi di lavoro: si ha un'applicazione A che utilizza Alfresco come repository e poi gestisce da se tutta la logica e la presentazione. Si vuole integrare questa applicazione utilizzando altre funzionalità di alfresco: ad esempio la ricerca fulltext con lucene.


Quale potrebbe essere la via più comoda tra JCR e webservice? Premetto che utilizzando l'api webservice mi sono trovato più a mio agio.

Vi sono altre API che risultano ancora migliori? In pratica non riesco a stabilire cosa sia meglio usare a seconda delle diverse esigenze che uno ha.

Ecco ho fatto più di una domanda, perdonatemi.
felix1988
Member II

Re: Web application con accesso al repository alfresco via JCR

ciao mi chiamo Felice e sono nuovo del forum.
Anche io sto usando le JCR di alfresco per comunicare con il repository.
Sono riuscito a creare una applicazione fatta in java e tutto mi funziona avendo aggiunto l'sdk embedeed.
Ma anche a me mi è sorto il problema in una nuova webapp e anche se ho inserito tutte le librerie nella mia webapp continuo ad avere il seguente errore

GRAVE: Servlet.service() for servlet spring threw exception
java.io.FileNotFoundException: class path resource [alfresco/application-context.xml] cannot be opened because it does not exist
   at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:141)
   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
   at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)
   at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92)
   at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
   at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
   at controller.ContactController.addContact(ContactController.java:47)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:174)
   at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)
   at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
   at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:662)




Mi potete aiutare??
Come faccio a fargli vedere i file che non trova???


Grazie a chi mi risponderà!!!