|
From: Peter B. <pet...@ya...> - 2015-12-03 16:07:29
|
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 <je...@no...>
To: GeoTools Users <geo...@li...>
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:pet...@ya...]
Sent: 3. december 2015 11:59
To: Jody Garnett <jod...@gm...>; teeschke <dan...@we...>
Cc: GeoTools Users <geo...@li...>
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 <jod...@gm...>
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 <dan...@we...> 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
Geo...@li...
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------ _______________________________________________
GeoTools-GT2-Users mailing list
Geo...@li...
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
Geo...@li...
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
|