Over a million developers have joined DZone.

Oracle and Maven

· Java Zone

Discover how powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience, brought to you in partnership with JetBrains

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.

Learn more about Kotlin, a new programming language designed to solve problems that software developers face every day brought to you in partnership with JetBrains.

Topics:

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 }}