Hibernate Karaf features for versions under 5.0.0 - java

I'm trying to install hibernate into karaf using the features mechanism.
The solution given here by Mr Christian Schneider works fine for hibernate versions over 5.0.0, but it doesn't for versions under:
karaf#root>feature:repo-add hibernate 4.3.11
Adding feature url mvn:org.hibernate/hibernate-osgi/4.3.11/xml/karaf
Error executing command: Error resolving artifact org.hibernate:hibernate-osgi:xml:karaf:4.3.11: Could not find artifact org.hibernate:hibernate-osgi:xml:karaf:4.3.11 in central (http://repo1.maven.org/maven2/) : mvn:org.hibernate/hibernate-osgi/4.3.12/xml/karaf
I suspect because features for those versions aren't available.
So my question:
How to know which versions are available ?
How to install features for versions under 5.0.0 ?

To know which versions are availiable you can use the feature:versions-list command, it will show you the availiable versions of that feature and which features repository owns it.
And for the versions older than 5.0.0, you have some choices:
You can create your own hibernate feature, search for older versions of the feature you want to install, or you can also edit the existing feature.xml adding the version you want and refreshing the repository with feature:repo-refresh .
For the last one you can find the hibernate-osgi feature at %KARAF_HOME%/system/org/hibernate/hibernate-osgi.

Related

Installing/updating EclipseLink in Eclipse Dali

I'm currently using Eclipse Dali with EclipseLink 2.5.2.
Now I want to change to version EclipseLink 2.7.5, but I'm unable to find out how to setup Dali for new EclipseLink versions.
The JPA project dialog only shows EclipseLink 2.5.2 as a possible choice for the platform:
So I guess, I must download and install a new persistence platform so I'm able to select EclipseLink 2.7.5 from this dialog? Note that I already downloaded the zip archive for EclipseLink 2.7.5 - is it perhaps somehow possible to point Dali to this archive? Or is it necessary to manually remove EclipseLink 2.5.2 from the project's classpath and instead add the corresponding jar files for EclipseLink 2.7.5?
I'm sure that I'm missing something very obvious here since updating the persistence platform is certainly a common and easily done task... any help appriciated.
I was able to update to EclipseLink 2.7.5 by manually adding a new user library and then selecting this library in the JPA project dialog:
In the user library I simply added all jar files of EclipseLink 2.7.5 in the EclipseLink jlib folder.
Note that the folder of the library must not be a subfolder of the Eclipse project folder, otherwise Eclipse Dali will complain with the following error message (see this question):
The class 'javax.persistence.Convert' is required to be in the
selected libraries
Note also that for some reason it was necessary to move the EclipseLink 2.7.5 user library to the top of the dependency list in the Eclipse Run Configurations dialog.
I will happily accept any other answer that provides a more convenient way of updating EclipseLink.

adobe AEM com.adobe.granite.api maven dependency

I am using AEM 6.1 with Maven to manage dependencies. I can see the bundle com.adobe.granite.poi version 2.0.0 being shipped along with the AEM instance. But I cant seem to find a maven dependency for the library in both Adobe public repository as well as Maven central repository.
I have checked the uber-jar dependency uber-jar-6.1.0-obfuscated-apis and could not locate it there as well.
I can find version 1.0.2 and 1.1.0 of com.adobe.granite.poi in the Adobe public nexus. I would prefer to avoid using a older version if possible. How would you manage this problem.
you can find granite poi 2.0.0 here - http://nexus.citytech.ctmsp.com/content/groups/public/com/adobe/granite/com.adobe.granite.poi/2.0.0/
BTW, I have had this experience with a couple of apis whose newer version are not available on adobe's maven repository, but they are shipped with AEM. what my understanding is that if its not available on adobe-public, its not (or not any longer) a public api and you are not supposed to use it. you may want to find an alternative.

IBM SBT SDK 1.1.0 (Java) and Apache xerces

I am adding IC integration with IBM SBT SDK (Java) into an existing project which still uses xerces 2.4.0 (as of March 2009).
Using IBM SBT SDK 1.0.x did not cause any problems here, but the XML serialization implementation of 1.1.0 completely relies on org.w3c.xml.ls.DOMImplementationLS and such stuff which was introduced after moving xerces to "xercesImpl" about 2004.
However the project contains much code working with XML based on xerces and xml-apis, and it looks dangerous to move too fast to "more current" versions of these libraries. Thus I want to move "no further than absolutely required".
Thanks to maven no one can directly see which version of any artifact is loaded if it is not directly referenced in the pom.xml. Thus my question:
Which version of xercesImpl is "really" required by IBM SBT SDK 1.1.0? 2.4.0 is not sufficient, as some methods used in the SBT SDK are not yet implemented there...
xerces version in the dependency would be 2.9.0; looking at the DOMUtil.java#loadDriver() class however there are workarounds to avoid the SBTK to use xerces altogether:
if your container allows to control the classpath tree, shadowing the xerces library from the toolkit will have it default to some other driver. In alternative you can provide your own XercesDriver class compatible with old xerces versions and leverage the classloader to have it loaded in place of ours.
if you are in a osgi container you can also make sure the host application manifest declares a dependency to a version <=2.4.0 and load both xerces versions letting the container fix the dependencies for you
anyway, to answer the question, using:
mvn dependency:list
I get version 2.9.0 for xerces:
The following files have been resolved:
com.ibm.sbt:com.ibm.commons:eclipse-plugin:9.0.0:provided
p2.eclipse-plugin:javax.servlet:jar:3.0.0.v201112011016:system
p2.eclipse-plugin:javax.xml:jar:1.3.4.v201005080400:system
p2.eclipse-plugin:org.apache.xalan:jar:2.7.1.v201005080400:system
p2.eclipse-plugin:org.apache.xerces:jar:2.9.0.v201101211617:system
p2.eclipse-plugin:org.apache.xml.resolver:jar:1.2.0.v201005080400:system
p2.eclipse-plugin:org.apache.xml.serializer:jar:2.7.1.v201005080400:system
p2.eclipse-plugin:org.eclipse.core.contenttype:jar:3.4.200.v20120523-2004:system
p2.eclipse-plugin:org.eclipse.core.jobs:jar:3.5.300.v20120912-155018:system
p2.eclipse-plugin:org.eclipse.core.runtime:jar:3.8.0.v20120912-155025:system
p2.eclipse-plugin:org.eclipse.equinox.app:jar:1.3.100.v20120522-1841:system
p2.eclipse-plugin:org.eclipse.equinox.common:jar:3.6.100.v20120522-1841:system
p2.eclipse-plugin:org.eclipse.equinox.preferences:jar:3.5.1.v20121031-182809:system
p2.eclipse-plugin:org.eclipse.equinox.registry:jar:3.5.200.v20120522-1841:system
p2.eclipse-plugin:org.eclipse.osgi:jar:3.8.2.v20130124-134944:system

Trying to install eclipse Bytecode Outline plugin, missing dependency

I'm trying to install this: http://asm.ow2.org/eclipse/index.html, but I get this error which makes zero sense to me.
I'm running eclipse Kepler Service Release 1, build id 20130919-0819.
Cannot complete the install because one or more required items could not be found.
Software being installed: Bytecode Outline 2.1.0 (de.loskutov.BytecodeOutline.feature.feature.group 2.1.0)
Missing requirement: Bytecode Outline 2.1.0 (de.loskutov.BytecodeOutline.feature.feature.group 2.1.0) requires 'org.eclipse.help.appserver 0.0.0' but it could not be found
After Eclipse 3.3 "org.eclipse.help.appserver" was removed. See: eclipse:help-appserver
Description: This bundle provided implementation of a Tomcat-based web server application for the Eclipse help system. This was replaced in Eclipse 3.3 with a Jetty-based application server. This bundle defines no API and has been unused in the Eclipse platform for many releases.
It seems that the Eclipse ASM Bytecode Outline plugin was not maintained for quite some time which results in all kind of compatibility problems. For newer versions of Eclipse I therefore recommend installing this alternate version instead.
Use the Eclipse marketplace to find a version for the current eclipse version.

where is repository with spring sources

In spring and cantral repo i can find e.g. spring-support-2.0.8.jar but what repo should I add to my pom to make my ide automatically download sources? I don't see any repo with spring-support-2.0.8-sources.jar
Unfortunately, not all Spring versions were deployed with sources. In a nutshell, from version 2.5, all Spring JARs come with sources.
If the source is missing, then you'll have to find it elsewhere and either add it manually to your projects or you can install a Maven mirror at your company and deploy the sources there after packaging them in a JAR file.
I suggest to try to upgrade to Spring 2.5. Newer versions of Spring are usually drop in replacements of older ones. Most of the time, the upgrade takes a couple of hours.
spring-support doesn't exist in Spring 2.5 anymore; the classes in there are now in spring-context-support.
You can use the fc: prefix to find the JARs which contain missing classes: http://search.maven.org/#search%7Cga%7C1%7Cfc%3Aorg.springframework.mail
As Looking for spring-hibernate3-2.0.8 sources mentions, the source jars were not consistently published back then. The suggestion from that question is to:
get the sources of the old monolithic spring-2.0.8-sources.jar

Categories

Resources