Current plans for a new Java access modifier

2015-11-25 Thread Karl Sanders
Hi,

after a quick search in the Jigsaw docs and mailing list archives I
came to the conclusion that there won't be a new Java access modifier
between public and Package-Access, to allow visibility and access from
other packages but only if inside the same module.
Is this correct?

Regards,
Karl


Re: Avoiding same-package conflicts

2015-10-29 Thread Karl Sanders
Hi Alex,

indeed I'm on JDK 8 but at the moment I don't have different versions
of the same library in the classpath.
However sooner or later I will have to satisfy this requirement.
I can wait the year or so that separates us from the GA release of JDK
9 but I'm afraid that Jigsaw won't be able to help me.
Hence my questions.

Also, just for the record, I understand that having multiple versions
of the same library isn't a best practice to say the least.
But I'm afraid that this is one of the cases where the library vendor
can't modify the current code to fit my requirements and extracting
the part that I need from an older version and refactoring it into a
separate library would be quite an undertaking.

Thanks for your time.

Cheers,
Karl

On Thu, Oct 29, 2015 at 1:03 AM, Alex Buckley <alex.buck...@oracle.com> wrote:
> Hi Karl,
>
> Serious question: does your Java SE application expect that different
> versions of the same library are placed on the classpath in JDK 8?
>
> Alex
>
>
> On 10/28/2015 1:34 PM, Karl Sanders wrote:
>>
>> Hi,
>>
>> I'm trying out the JDK 9 EA with Jigsaw.
>>
>> I created two modules, A and B, which are required by module C.
>>
>> Modules A and B contain a non-exported package with the same name.
>>
>> After compiling each module separately I start module C and get a
>> java.lang.reflect.LayerInstantiationException saying that modules A
>> and B contain a package with the same name.
>>
>> In light of this behaviour I have two questions.
>>
>> - Is it correct to say that for a simple Java SE application to work
>> with this configuration the only solution, in the realm of what will
>> be provided with the GA version of JDK 9, is through the concept of
>> layers of modules?
>>
>> - In that case will there be some sort of out-of-the box functionality
>> to have this scenario work or will I have to write some non-trivial
>> code to manage these layers?
>>
>> In other words, I have to use different versions of the same library
>> in a Java SE application.
>> Since Jigsaw is approaching I thought I could wait for it instead of
>> learning and having to deal with OSGi.
>> But from what I see by using only Jigsaw I won't be able to satisfy
>> this requirement.
>> At least not without writing some non-trivial code that I'm afraid is
>> above my skill level.
>>
>> Cheers,
>> Karl
>>
>


Avoiding same-package conflicts

2015-10-28 Thread Karl Sanders
Hi,

I'm trying out the JDK 9 EA with Jigsaw.

I created two modules, A and B, which are required by module C.

Modules A and B contain a non-exported package with the same name.

After compiling each module separately I start module C and get a
java.lang.reflect.LayerInstantiationException saying that modules A
and B contain a package with the same name.

In light of this behaviour I have two questions.

- Is it correct to say that for a simple Java SE application to work
with this configuration the only solution, in the realm of what will
be provided with the GA version of JDK 9, is through the concept of
layers of modules?

- In that case will there be some sort of out-of-the box functionality
to have this scenario work or will I have to write some non-trivial
code to manage these layers?

In other words, I have to use different versions of the same library
in a Java SE application.
Since Jigsaw is approaching I thought I could wait for it instead of
learning and having to deal with OSGi.
But from what I see by using only Jigsaw I won't be able to satisfy
this requirement.
At least not without writing some non-trivial code that I'm afraid is
above my skill level.

Cheers,
Karl