Re: Is compile classpath deterministic?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Is compile classpath deterministic?

Elliotte Rusty Harold
In general, yes, the compile time classpath is deterministic. However
there are a few ways it can get mucked up including extra jars in your
VMs jre/lib/ext folder. Their may be other ways those jars can mess
with you, especially if they have scope provided.

Also, you probably shouldn't have two artifacts that define the same
classes. That's what I'd look at fixing first.


On Sat, Oct 20, 2018 at 6:23 PM, Dagang Wei <[hidden email]> wrote:

> Hi folks,
>
> I ran into an issue of compile dependency conflict caused by same class
> name (javax.ws.rs.core.Response) with different method signatures in
> different artifacts (jsr311-api and javax.ws.rs-api). On one machine, it
> compiles because it compiles against  javax.ws.rs-api; on another machine,
> it doesn't, because it compiles against jsr311-api.
>
> So, I am wondering if the compile classpath deterministic? If not, can we
> make it deterministic so that it is easier to discover and debug dependency
> issues?
>
> Thanks!
> Dagang



--
Elliotte Rusty Harold
[hidden email]

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Is compile classpath deterministic?

mgainty
i  am curious as to your ${packaging.type} from both pom.xml resolve to?

https://javaee.groups.io/g/jersey/topic/jersey_2_26_and_jax_rs_2_1/6052416?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,6052416

?
________________________________
From: Dagang Wei <[hidden email]>
Sent: Saturday, October 20, 2018 6:23 PM
To: [hidden email]
Subject: Is compile classpath deterministic?

Hi folks,

I ran into an issue of compile dependency conflict caused by same class
name (javax.ws.rs.core.Response) with different method signatures in
different artifacts (jsr311-api and javax.ws.rs-api). On one machine, it
compiles because it compiles against  javax.ws.rs-api; on another machine,
it doesn't, because it compiles against jsr311-api.

So, I am wondering if the compile classpath deterministic? If not, can we
make it deterministic so that it is easier to discover and debug dependency
issues?

Thanks!
Dagang