Hi all, I noticed a few recent questions about where to find what CDK class, about the difference between the cdk-1.4.x.jar and jars like cdk-core.jar... I will summarize things a bit. Some further contains can also be found in my blog: http://chem-bla-ics.blogspot.com/2011/06/cdk-module-dependencies-3.html
CDK modules, dependencies, etc... Originally, the CDK just built a single large jar, which is still around as cdk-1.4.x.jar (or another version). This jar contains all CDK classes and all dependencies. Or, it's enough to get any CDK code going. But, it's also large, about 15 MB. With things like applets, one like to get the size down, which is possible by selecting just certain modules of code. This is particularly useful, because some modules are large themselves (e.g. the builder3d module, which has a few MBs of ring structure data), or modules that depend on large third-party libraries. A second aspect is that at some point, code became so mixed, that we had no clue anymore where we could expect trouble by some patch. A proper dependency management and modularization was needed to make the CDK scale better. It is some extra work, but keeps things easier maintainable. So, we now have quite a few modules (see that blog post for a graphical overview), each with clearly defined dependencies (found in plain text files in src/META-INF/ in the source bundle). So, some tools just take the full CDK library and just use the full jar. Others do not, and that comes at the expense that you need not just one, but many jars on your classpath (as posted by Hans Horn; see below). At the same time, if you already had one of the third-party libraries the CDK used for some other part of your own project, you can just use a single one with the modularized CDK jars. On Tue, Feb 14, 2012 at 1:29 AM, Hans Horn <[email protected]> wrote: > where do all these other bits on your classpath come from: > ../workspace2/nmrshiftdb2/lib/cdk-core.jar:../workspace2/nmrshiftdb2/lib/cdk-data.jar:../workspace2/nmrshiftdb2/lib/cdk-interfaces.jar:../workspace2/nmrshiftdb2/lib/cdk-io.jar:../workspace2/nmrshiftdb2/lib/vecmath1.2-1.14.jar:../workspace2/nmrshiftdb2/lib/JNL.jar:../workspace2/nmrshiftdb2/jetspeed/WEB-INF/lib/torque-3.1.jar:../workspace2/nmrshiftdb2/lib/cdk-standard.jar:. The modularized jars can be generated from the CDK source code. This will require Ant and a Java compiler (Java6 or higher) installed, but then you can run (from the command line): $ ant clean dist-all to get all cdk-*.jar. All third party-libraries that are required dependencies (the CDK has the option for conditional building too), are found in the source code distribution too, in the libs/ folder. The jars are created in the dist/jar/ folder. I hope this helps, Egon -- Dr E.L. Willighagen Postdoctoral Researcher Department of Bioinformatics - BiGCaT Maastricht University (http://www.bigcat.unimaas.nl/) Homepage: http://egonw.github.com/ LinkedIn: http://se.linkedin.com/in/egonw Blog: http://chem-bla-ics.blogspot.com/ PubList: http://www.citeulike.org/user/egonw/tag/papers ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Cdk-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cdk-user

