Over a million developers have joined DZone.

Oracle and Maven

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

Oracle has a problem with Maven and the negative effects of that is spreading to us Java developers.

I do not think it is an intentional Oracle strategy to avoid Maven, I think it is more of a Sun cultural legacy combined with loss of momentum in the transition to Oracle, but I really cannot tell.

The majority of Java projects active today I hear about are using Maven. Almost all new projects are based on Maven. Yet there are no Oracle examples, tutorials, legal constructions or anything else I can find, supporting Maven. Wouldn't it be nice if there were?

There are Oracle initiatives to support Maven but they seems fairly limited. Oracle continue to release major software with technical and legal constructions that make it so hard to use with Maven that one might think it is intentional attack on Maven. One example is JavaFX 2 with a distribution license making it incompatible with Maven.

Another annoying example is the javaee*-api artifacts in repo1.maven.org without method bodies. You get errors like

java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/ws/rs/core/MediaType

(workarounds for that here).

It is claimed that the implementations are not needed because the container will provide these. I write unit tests, and I observe that you cannot execute any unit tests in a Maven module declaring a dependency to such an artifact.

Moreover, the Oracle artifacts are lacking javadoc and source, which seems to be a systematic problem. Publishing artifacts like this may waste my time more than if Oracle did not publish them at all (from that perspective maybe it is a feature that the Oracle JPA 2 artifact is missing).

I think it is fair to require of Oracle to either express a strategy for avoiding Maven and present an alternative technology, or to stop messing with us Java developers requiering separate downloads and malformed artifacts. The best alternative would be if Oracle started using and supporting Maven.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}