Why the "uber-jar-6.5.5-sources.jar" does not contain the source code of all open source libraries and why the file "uber-jar-6.5.5-javadoc.jar" does not contain Javadoc for some proprietary code? | Community
Skip to main content
Level 3
March 3, 2021

Why the "uber-jar-6.5.5-sources.jar" does not contain the source code of all open source libraries and why the file "uber-jar-6.5.5-javadoc.jar" does not contain Javadoc for some proprietary code?

  • March 3, 2021
  • 1 reply
  • 6639 views

Hi, 

I have two questions which are related to the usage of the "uber-jar" in an IDE like Eclipse: 

 

Question 1) Why the file "uber-jar-6.5.5-sources.jar" does not contain at least the source code of the open source libraries which are included in the uber-jar? Why it is either empty or not provided by Adobe at all? 

For example, why it does not contain the source code of "org.apache.jackrabbit.api.security.user.UserManager"? 

At least the file "uber-jar-6.5.5-javadoc.jar" contains the Javadoc of the above-mentioned class, but why the file "uber-jar-6.5.5-sources.jar" does not contain its source code? It is an open source project and you can see links to its source repository here: https://jackrabbit.apache.org/jcr/source-repository.html

Therefore I do not understand why Adobe did not include it (and the source code of other open source libraries) in the file "uber-jar-6.5.5-sources.jar". 

In case if Adobe does not provide the "sources" file for its uber-jar at all (it is currently unavailable under the Adobe's public repo, as of 4th March 2021), then why Adobe does not provide it? 

 

Question 2) Why the file "uber-jar-6.5.5-javadoc.jar" does not contain at least the Javadoc of some proprietary classes which are not open source? (I don't mean their source code here as these seem to be some proprietary "closed" code of Adobe, but at least their Javadoc should be available.)

For example, why it does not contain at least the Javadoc of all classes which are located in the package "javax.jcr" and its sub-packages, like for example the class "javax.jcr.security.AccessControlManager"? 

 

It makes the life of an AEM developer who uses Eclipse more difficult. 

The problem with the file uber-jar-6.5.5-apis.jar is that in Eclipse you can only attach one jar file as a source of the Javadocs for it and also you can attach only one jar file as a source of the source code for it. 

For example, I can't specify for the file uber-jar-6.5.5-apis.jar in Eclipse multiple jar files with the source code of the Apache Jackrabbit library and multiple other open source libraries which are included in the uber-jar, if I already use the file "uber-jar-6.5.5-sources.jar" (or any other single jar file) as the source of the source code for it. 

I am used to being able to display all possible Javadocs and source codes of all libraries using the keys F2 and F3 in Eclipse. It disturbs my workflow and costs me additional time when I have to search for the Javadoc or source code of a given method/class in other places (e.g. on the Internet for each single open source library which is included in the Adobe's uber-jar). 

 

Does anyone know a solution to the above-mentioned problems? Or even better, will you Adobe fix these issues and make the life of the developers using your product easier? 

 

Thank you in advance for your answers. 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

1 reply

Adobe Employee
March 3, 2021

Hi,

 

I don't believe Adobe shares a file named "uber-jar-6.5.5-sources.jar". I could not find it under the public repo[1]

 

Also, user manager API details can be found at [2]. Is there anything specific you are looking for?

 

[1] https://repo.adobe.com/nexus/content/repositories/releases/com/adobe/aem/uber-jar/6.5.5/

 

[2] https://jackrabbit.apache.org/api/2.12/org/apache/jackrabbit/api/security/user/UserManager.html

 

Level 3
March 3, 2021

Hi @user05162, I can't find it neither under the public repo [1], because it is currently unavailable. When I go to that URL, using the Chrome browser, I receive an error "Error: Request Entity Too Large: head". I know that I had indeed accessed this repo in the past, because I also have it in my bookmarks, but now it doesn't work. I hope that Adobe will fix this issue also. Anyway, I am almost sure that we have received the file "uber-jar-6.5.5-sources.jar" from Adobe. However, if you know a different source of the source code for the uber-jar, then please tell me - hopefully it will be better than the file "uber-jar-6.5.5-sources.jar". Regarding the link [2] from your post - yes, that's actually what I had written in my question that it is available there. I asked why it is not included in the jar from Adobe if it is an open source project which is generally available.

 

Update: I have just checked that the file "uber-jar-6.5.5-sources.jar" (which is in my local Maven repo) is almost empty. It doesn't contain any source code at all. So, well, it's actually worse than I thought. Only the jar with Javadoc does contain something, but also with the limitations about which I asked in the question. Where can I get a jar file with all possible source code for the uber-jar? I don't expect Adobe to provide me its secret proprietary code, but at least the source code of all included open source libraries should be included in it, shouldn't it? I mean, in Eclipse I can set only one jar file as a source of the source code for the uber-jar (which includes lots of open source libraries), so I hope that Adobe provides it. - If it does not, then why? 

 

Update #2: I have found out that I can access the public repo [1] using the Firefox browser. I still get the above-mentioned error "Error: Request Entity Too Large: head" when I try to access it using the Chrome browser, but it works using Firefox. The file "uber-jar-6.5.5-sources.jar" is indeed currently (as of 4th March 2021) not listed there. So it's a mystery to me where it came from into our company's Nexus repo. The other people involved in our project didn't put it there manually. - Its last modification date there is on the 4th November 2020, similar to the other uber-jar files there. Maybe this file had been temporarily provided by Adobe earlier, but has been removed, because it's empty and useless? The source Adobe's repo for our Nexus repo is the following URL (the current contents there are the same as under the repo [1], i.e. currently the sources jar is unavailable there): 

[3] https://repo.adobe.com/nexus/content/groups/public/com/adobe/aem/uber-jar/6.5.5/

Anyway, even if we assume that Adobe currently does not provide the file "uber-jar-6.5.5-sources.jar", then why Adobe does not provide it?