Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] Question about external dependencies.

If there are two defaults, I'm ok with changing it to 1.

I like the ability to override where the JDBC driver is individually. (For many users, the JDBC driver setting is the only one they ever need) I don't think that affects the defaults.

-Tom

Eric Gwin wrote:
First of all, I'm not planning on changing this behavior, I'm simply trying to understand the reasons behind the existing methodology.
It may make sense to change it later... or not.

I understand that multiple manufacturers' JDBC drivers and other jars are potentially needed. However, it seems to me that since the jar names do not overlap (or could be made to not overlap), that a single "external dependencies" location should be sufficient.
Therefore, I'm asking why do we need two default locations?

It doesn't even seem that only oracle jars are being put in "extension.oracle.lib.external" in all cases, so it looks like it is just a matter of two different standards being used simultaneously. But I am not certain if there is another reason behind it.


Also there is the question of why do we have a definition:

oracle.extensions.depend.dir=extension.oracle.lib.external

yet define most "external library" variable defaults as stored in "/extension.lib.external". As evidenced by definitions like:

jdbc.driver.jar=../../../extension.lib.external/mysql-connector-java-5.0.7-bin.jar
junit.lib=../../../extension.lib.external/junit.jar
spring.jlib.dir=../../../extension.lib.external/spring



It seems much cleaner to set defaults like:

extensions.depend.dir=../../../extension.lib.external
mysql.jdbc.driver.jar=${extensions.depend.dir}/mysql-connector-java-5.0.7-bin.jar
oracle11.jdbc.driver.jar=${extensions.depend.dir}/ojdbc5_11.jar
oracle10.dms.jdbc.driver.jar=${extensions.depend.dir}/ojdbc14dms_10.jar

jdbc.driver.jar=${mysql.jdbc.driver.jar}
junit.lib=${extensions.depend.dir}/junit.jar

That way the ${user.home}/build.properties could just contain a redefinition of the dir itself, and/or possibly a few library definitions
if they are different drivers, or differently named.

-Eric

Tom Ware wrote:
Hi Eric,

At the moment, I just define oracle.extensions.depend.dir. I am not sure about the extension.lib.external or extension.oracle.lib.external directories.

One thing that is important to keep in mind is that JDBC jar location will need to be set both by people using Oracle and by people using other DBs.

-Tom

Eric Gwin wrote:
All,

Until recently I didn't use the "extension.lib.external" or "extension.oracle.lib.external" directories. I am curious why we need two. I'd think that the oracle jdbc drivers and all other external dependencies are named differently than each other.

  Wouldn't a single directory be more efficient?

Also wouldn't defining a variable "extensions.depend.dir" make more sense that a plethora of explicit library definitions?
      jdbc=../extension.lib.external/jdbc.jar
      junit=../extension.lib.external/junit.jar
      ....
That way the minimum redefinition would be a single value (extensions.depend.dir), unless someone chooses to store them separately thus requiring a redefinition of all the external dependency library values.

Thanks

-Eric
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev

_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev


Back to the top