History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: SAK-11435
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Steve Smail
Reporter: Jim Eng
Votes: 0
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
Sakai

Citations dependency on OSID creates startup problem

Created: 08-Sep-2007 05:46   Updated: 23-Oct-2008 07:46
Component/s: Citations (SVN Module)
Affects Version/s: trunk [DO NOT USE]
Fix Version/s: 2.5.0

Time Tracking:
Not Specified

Issue Links:
Relate
 

2.4.x Status: None
2.5.x Status: None
2.6.x Status: None


 Description  « Hide
Citations is preventing sakai from starting in trunk. The log messages indicate an unsatisfied dependency on the osid api's. The osid api's should be coming from a jar in the remove maven repository. It seems there may be an error in the pom.xml files.

This problem apparently started when the osid impl for twinpeaks was removed from the build. I think that project's build process deployed the osid api jar to shared or common, which is probably why it has been available to citations despite the apparent problem with citation's build process.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jim Eng - 08-Sep-2007 05:49
Here's a stack trace provided by David Horwitz for the error that causes sakai's startup to fail:

12:07:02,211 main_org.sakaiproject.util.NoisierDefaultListableBeanFactory)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.citation.api.CitationService' defined in file [/usr/local/sakai-trunk/components/sakai-citations-pack/WEB-INF/components.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/osid/repository/Asset
Caused by:
java.lang.NoClassDefFoundError: org/osid/repository/Asset
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
        at java.lang.Class.getDeclaredMethods(Class.java:1763)
        at java.beans.Introspector$1.run(Introspector.java:1265)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
        at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
        at java.beans.Introspector.getBeanInfo(Introspector.java:387)
        at java.beans.Introspector.getBeanInfo(Introspector.java:159)
        at java.b

Jim Eng - 08-Sep-2007 05:52
Removing the osid project from the trunk build (SAK-10347) uncovered the problem in the build process for the citations project (SAK-11435). The solution is to fix the citations build process rather than reversing SAK-10347.

Jim Eng - 08-Sep-2007 07:42
Steve suggested that if we're the only project using the OSID api jar, we should include it in our impl war file instead of deploying it to shared. I haven't been able to get either of those to happen. I have tried following the example of how other jars are deployed, and nothing seems to work. If anybody from sakaibrary could take this over and fix it quickly, I'd appreciate it. Otherwise, suggestions are welcome.

Steve Smail - 08-Sep-2007 07:56
For now, I've modifed the Citations build to deploy the OkiOSID-2.0.jar file to shared.

This was previously done by the (now retired) OSID build.

I think the OkiOSID jar can be made "private" to the Citations project, but I ran into problems when I tried to do that today. I'll revisit this again next week. Until then, I'm leaving the ticket open.

Jim Eng - 10-Sep-2007 07:26
Can we resolve this ticket?

Steve Smail - 13-Sep-2007 10:25
On reflection, leaving the OKI OSID jar in shared probably makes sense. If anyone disagrees, please re-open the ticket and we can decide how to proceed.