Evidence of incompatibility (was Some suggested patches and improvements)
Russell Gold
russell.gold at oracle.com
Thu May 18 14:20:34 UTC 2017
Maven support and tool support in general for MR Jars is very poor at the moment - including the bundle plugin. I do have a working example <https://github.com/javaee/gmbal-pfl/blob/master/pfl-basic/pom.xml> you could look at that includes OSGi support. The key here is that I delete the java9 classes before computing the OSGi manifest, and only compile them before building the jar.
Russ
> On May 17, 2017, at 11:28 PM, Ralph Goers <rgoers at apache.org> wrote:
>
> I am afraid I have to echo these sentiments to some degree. In trying to get Log4j to support Java 9 I first tried to use a multi-release jar. This failed miserably when the OSGi build tool failed over finding java classes under META-INF. Then it proceeded to complain about the module-info.java files. Why these are java syntax instead of json or something more sensible for something that only contains declarations is a mystery to me. FWIW - the OSGi people don’t seem interested in supporting these new features - https://issues.apache.org/jira/browse/FELIX-5592 <https://issues.apache.org/jira/browse/FELIX-5592>.
>
> I have been able to work around some of these issues but it has made the Log4j build very fragile and I haven’t really begun to see what happens when log4j is actually modularized or runs in an application that is.
>
> Ralph
>
>> On May 17, 2017, at 10:26 AM, Eric Johnson <eric at tibco.com> wrote:
>>
>> On Wed, May 17, 2017 at 1:08 AM, Andrew Dinn <adinn at redhat.com> wrote:
>>
>>> On 16/05/17 19:11, Gregg Wonderly wrote:
>>>
>>> <ad cohortem hominum snipped (pardon my French)>
>>>
>>>> If we really cannot actually keep from breaking 90% of existing Java
>>>> in the market place when this new JDK release goes out, how valuable
>>>> is JigSaw really?
>>>
>>> citation needed?
>>>
>>
>> I mostly ignore jigsaw, and check in every now and then.
>>
>> I have a few co-workers that have poked at migrating their products to Java
>> 9. So far as I know, nobody has succeeded yet.
>>
>> With significant regularity, I see issues pop up on this list that have odd
>> problems, or persist in being unresolved. One of my favorites at the moment
>> is automatic module names - a problem that Jigsaw caused for itself. Maybe
>> that one is resolved for now, but I'm pretty certain that questions will
>> come flooding back once Java 9 GAs.
>>
>> As near as I can tell, applications that compile and run under Java 8 will
>> mostly *not* "just work" with Java 9 JRE. And that seems to be the lived
>> experience of my co-workers. If a project is lucky, the only changes
>> necessary will involve command line parameters. If a team is unlucky, they
>> will need to rebuild for Java 9. If a team is really unlucky, they will
>> need to partially or fully modularize. At which point some even more
>> juggling is required to continue to support Java 7 & 8, if that's required
>> by customers.
>>
>> My overall concerns for Jigsaw:
>> https://medium.com/@one.eric.johnson/java-9-jigsaw-troubles-4fc406ef41e0
>>
>> I'm not sure what citations you expect to see. There's probably nobody out
>> there who can afford to pre-flight an EA build of Java 9 against all their
>> products to see what the actual costs are going to be. Based on anecdotal
>> evidence from this mailing list, significant players in the Java ecosystem
>> - build tools, IDEs, critical libraries - have all had to fix unexpected
>> breakages with Java 9. Obviously, the ones that don't break don't typically
>> show up, so this is a self-selecting example, but an important one.
>>
>> However, even something as simple as requiring changes to command line
>> parameters in order to launch a program compiled for Java 8 is a breaking
>> change. The Jigsaw team seems to be taking this as a mere complaint, rather
>> than as a genuine compatibility issue.
>>
>> Here's a challenge back to the Jigsaw team. Can I still do java -jar ...
>> every existing Java application (without recompile!) that currently
>> launches that way? I'm even willing to cut some slack and ignore
>> applications that use com.sun APIs that have been "private" for years. Will
>> that still work? The Jigsaw community should be able to provide evidence
>> that's still possible, not that we should be required to provide evidence
>> that it isn't.
>>
>> Eric.
>>
>>
>>> regards,
>>>
>>>
>>> Andrew Dinn
>>> -----------
>>>
>>
>
More information about the jigsaw-dev
mailing list