Yes, an automated dependency manager would be great! My IDE (Netbeans) will
flag missing dependencies in my source code without Maven or Ivy. Problem is
that it doesn't catch various inter-dependencies within the jar files.
Unfortunately, those inter-dependencies only become obvious at runtime.
In the absence of an automated dependency manager, it would be *really nice* to
break up the the binary distribution of GeoTools into sub-directories. That
would help users pick and choose which jars/libs they need for their specific
needs. So instead of having 200+ different jars in your project, you might only
need a dozen or so.
For example, I tend to organize the jars into the following directory structure:
/core - gt-api-14.1.jar - gt-opengis-14.1.jar - gt-metadata-14.1.jar -
gt-referencing-14.1.jar - gt-geometry-14.1.jar
- jsr-275-1.0-beta-2.jar - jts-1.13.jar
...
/epsg - gt-epsg-extension-14.1.jar - gt-epsg-wkt-14.1.jar
...
/epsg/driver
- gt-epsg-hsql-14.1.jar - gt-epsg-postgresql-14.1.jar
...
/raster
- gt-coverage-14.1.jar
- gt-grid-14.1.jar
- jai_core-1.1.3.jar ...
/raster/processing - gt-image-14.1.jar
- gt-imagemosaic-14.1.jar - gt-imagepyramid-14.1.jar
/raster/drivers - gt-geotiff-14.1.jar
- gdal-1.8.1.jar
- gt-gtopo30-14.1.jar
- gt-imageio-ext-.jar ...
/vector/drivers - gt-geojson-14.1.jar
- gt-shapefile-14.1.jar - gt-vpf-14.1.jar
...
/database/drivers - gt-jdbc-14.1.jar ...
/database/drivers/h2 - gt-jdbc-h2-14.1.jar - h2-1.1.119.jar
/database/drivers/sqlite - gt-jdbc-spatialite-14.1.jar
- sqlite-jdbc-3.8.6.jar
/database/drivers/postgis - gt-jdbc-postgis-14.1.jar
- postgresql-9.4-1201-jdbc41.jar
/web - gt-wfs-14.1.jar
- net.opengis.wfs-14.1.jar - gt-wms-14.1.jar
Something like that...
Then, when I need to create a new app, I pick which jars I think I need based
on their functionality. I only include the database drivers that I need, I
might not need to do anything with rasters so I can exclude that directory
wholesale, etc.
I realize that the original thread was maven-specific so I apologize if my
comments are steering the conversation off course. Just throwing out an idea to
help make GeoTools more accessible to new users and casual users like me :-)
Thanks,
Peter
From: Jes Wulfsberg Nielsen <[email protected]>
To: GeoTools Users <[email protected]>
Sent: Thursday, December 3, 2015 7:30 AM
Subject: Re: [Geotools-gt2-users] embedding GeoTools is always a pain
#yiv3288042049 #yiv3288042049 -- _filtered #yiv3288042049
{font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv3288042049
{font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv3288042049
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv3288042049
{panose-1:2 11 5 2 4 2 4 2 2 3;} _filtered #yiv3288042049 {panose-1:2 11 4 2 4
2 4 2 2 3;}#yiv3288042049 #yiv3288042049 p.yiv3288042049MsoNormal,
#yiv3288042049 li.yiv3288042049MsoNormal, #yiv3288042049
div.yiv3288042049MsoNormal
{margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;}#yiv3288042049 a:link,
#yiv3288042049 span.yiv3288042049MsoHyperlink
{color:blue;text-decoration:underline;}#yiv3288042049 a:visited, #yiv3288042049
span.yiv3288042049MsoHyperlinkFollowed
{color:purple;text-decoration:underline;}#yiv3288042049
span.yiv3288042049EmailStyle17 {color:#1F497D;}#yiv3288042049
.yiv3288042049MsoChpDefault {font-size:10.0pt;} _filtered #yiv3288042049
{margin:72.0pt 72.0pt 72.0pt 72.0pt;}#yiv3288042049
div.yiv3288042049WordSection1 {}#yiv3288042049 You really want an automated
dependency manager for that, so you can just point at the functionality you
want, and get the needed jars assembled automatically. If you don’t want
Maven, you could take a look at the leaner Ivy, which uses the same definitions
and repositories as Maven, but only handles the dependency management.(In
fairness, if you only use Maven for dependency management, it’s not bad. Most
of its bad reputation comes from people obsessively trying to use it as its own
programming language). JWN
From: Peter Borissow [mailto:[email protected]]
Sent: 3. december 2015 11:59
To: Jody Garnett <[email protected]>; teeschke <[email protected]>
Cc: GeoTools Users <[email protected]>
Subject: Re: [Geotools-gt2-users] embedding GeoTools is always a pain I can
definitely sympathize with Tee's situation. In the latest release of geotools
(14.1) there are 223 different jar files. Chances are you don't need all of
them for your project. In fact, if you're a noob and load all the jar files
into a project without maven you'll get all sorts of errors. Personally, I
like my projects to have as small a footprint as possible with a minimal set of
jars/dependencies. In the case of geotools, that means removing as many jars as
necessary. I don't use maven so I have to prune the jars manually. First, I
separate out all the jars into categories (raster/image jars, database jars,
vector jars, ogc/web related jars, xml/schema, commons, etc). Then I start
adding the jars I think I need and add more jars as needed. This is an time
consuming process but it keeps my final deployment size to a minimum. Again,
I don't use Maven and I don't know if it would help with this process. However,
it would definitely help folks like me if the jars could be binned in some way.
I can draft a list of bins if the packaging folks are willing to entertain this
idea. Thanks,Peter PS. Love geotools! Thanks for everyone's hard work.
From: Jody Garnett <[email protected]>
Sent: 29 November 2015 18:40
To: teeschke
Cc: GeoTools Users
Subject: Re: [Geotools-gt2-users] embedding GeoTools is always a pain We are
starting to look at replacing JAI, and will be doing design and fundraising
over the course of 2016. JAI is not open source so we are unable to place it on
maven central. The second part is service provider interface is a pain in some
environments, and the "service registry" we use looks to be unsupported in Java
9.
| | Replace JAI · geotools/geotools Wiki · GitHubgeotools - Official GeoTools
repository ... You can clone with HTTPSRead more... |
If you have any suggestions on parties interested in the above tasks we
would love to know.
--Jody Garnett On 24 November 2015 at 14:35, teeschke <[email protected]>
wrote:
Dear GeoTools users and developers,
after embedding GeoTools in my n-th project I am very annoyed about the
complexity and pitfalls of this process. Two Scenarios to describe the
problem:
First: I wanted to parse a KML file and try to follow the Geometry Guide on
http://docs.geotools.org/stable/userguide/library/xml/geometry.html#kml-parser
1. add boundless repository and include gt-api, gt-main and gt-epsg-hsql
because I learned my lessons from projects before
2. trying to resolve the KMLConfiguration
a) adding gt-xml and gt-geometry modules as dependencies which is not
documented but seems to be meaningful because the how-to is about this
b) adding the xsd/gt-xsd-kml module as dependencies because I stumbled into
the xsd folder and it sounds meaningful as well
--> lucky me: it was the right one
Sidenote: I needed to scroll through the boundless repository manually to
scan for this modules
Second Scenario: whenever I want to do something with grid files - the JAI
library is required but not hosted in the maven central or boundless repo.
So I must use another repository (osgeo/webda) which seems to be the last
one which is hosting the JAI library :)
At the end of the day all this searching and trying needs a lot of time, is
not a pleasure and from my point of view not state-of-the-art because all
other libraries are available at maven central and are able to manage their
own dependencies. But in case of GeoTools I always need to look into
reference projects to find out how I was getting it the last time.
What are your experience with scenarios like this? Are you adding all
modules into the pom to not run into problems I always got or is there a
how-to I missed? :)
Thanks and kind regards,
Tee
--
View this message in context:
http://osgeo-org.1560.x6.nabble.com/embedding-GeoTools-is-always-a-pain-tp5238366.html
Sent from the geotools-gt2-users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users