New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use older libraries and exclude some #335
Conversation
There is the issue to test OAIPMH still open, I find it not so easy to test this without doing an actual httpUrlConnection which we agreed on to not do in the library. I updated #325 to point to the encoding issue to test that also. |
Got the branch built by using proper version of |
As discussed in the standup, I tried keeping the Xalan dependency at 2.7.1, keeping the exclusions. This got me a |
Seems to work. What way is the better one? |
Why more dependencies? You mean setting the property?
As far as I understand, it's a workaround to set it yourself as a user of their project, and their solution was to do it in their own code: maxjiang153/Openfire@3d88aaf (in that sense, it would be a workaround if a metafacture user had to set it in their own code).
I think it's better to use the newer Xalan lib, which should avoid other issues. |
I mean now there are no exclusions of libraries. So there are more dependencies. Or does it not work in this way? Do exclusions none-the-less load dependencies and set them into the classpath? If that's the case, dump my idea. Otherwise, I so often experienced problems with libraries on the classpath having the same name but coming in different versions that it's sometimes real hard to find the problem. So, avoiding unnecessary dependencies is better in my experience. Re workaround: |
I think the problem is always a conflict of transitive dependencies. So by excluding them, we actually say: don't use the ones pulled in by Xalan itself here. They are still dependencies of Xalan, so they need to come from some other place. Where is actually undefined at this point, so while often a good solution to fix a problem, I think exclusions actually increase the intransparency. Without exclusions, it's clear the library uses the dependencies as it declares them itself (in its pom etc.). |
It comes with Java Class Library. The dependencies in the For the complex of XML handling in java see also https://stackoverflow.com/questions/11952289/serializing-supplementary-unicode-characters-into-xml-documents-with-java. It's quite baffling or say: complex to see what uses when. |
The In general however, I don't think it's less dependencies, it's just a question who pulls them. Xalan has these three dependencies that are excluded, it needs to get them somewhere, right? But I don't really see where. Running |
The package
It's worthwhile to read that section. |
Right, now I understand. Then how about this: we add back the exclusions, but use 2.7.2 + property. So we have both the latest version and reduced XML dependency copies (pushed in 3ecdb47). |
would love to, but then tests in other modules fail (see note here #335 (comment)) |
Hm, but you then change a test which was supposed to work as it is. Probably then one would have to set this property in all the productive apps to also work, and this would be a "break of the api". |
Hm, yes, that is true. So 2.7.2 + exclusions is no option. I'd still prefer 2.7.2 + property, since that keeps the workaround very local, to OaiPmhOpener only, while the rest of the biblio package and the rest of metafacture can use the newer 2.7.2. But if you prefer 2.7.0 + exclusion, that's fine with me too. |
Disucussed offline: |
See #334.