Downloading Sun javadocs / mirror websites - java

The network between our company and Sun's javadocs seems to be down. Where can I get a copy of the javadocs for a given package, so that I can keep my own stash to handle network outages in the future? Are there any mirrors for the Sun javadocs?

For each major release there is a large doc package, e.g. here for JDK 1.6.
(I hope the link is correct, picked it out of the docs I downloaded a while ago. Can't connect to SUN either from here.)

Down for me too (java.sun.com seems to be MIA at the moment).
Some form of the JDK docs are here: http://www.docjar.com/docs/api/java/

Most surefire bet: download the source and run Javadoc over it yourself, and stick it on an internal web server.
(FWIW - I can't reach their javadocs from my internal network right now either.)

I run classfinder on a MacMini locally. It's a small webserver dedicated to serving Javadoc and related source. You just take the zipped Javadoc and (optionally) the source package, and drop them in the appropriate directory. Classfinder works out the dependencies between all the docs and presents everything as a unified set of docs.
If you have multiple versions of packages (e.g. different servlet docs) you can dynamically select what you want to display. It all works beautifully and deserves much more fame than it currently gets.

Related

Creating new class versions

I'm currently working on a project. I've been running into a few issues with the e-mail functionality, I've made multiple attempts to fix the issue and the latest seems to have fixed the issue.
For each rewrite I've created a new class to hold the new code. This doesn't seem to be the best solution as each time I have to go through the code and track down the references to the class and update them, with each rewrite only the code for the actual sending of the email has changed, function inputs and names have been consistent.
I've looked up versioning but this hasn't been particularly helpful in providing a solution either granted most likely due to my own lack of knowledge on the subject. So here is what I'm looking for: to have one instance of the class with multiple versions preferably without all the old code in it to aid in reading. But I want access to the old versions so that if a function/feature was there previously and wasn't built into the current version I can see how it was implemented.
Versioning is exactly what you need here.
Have a look here, which gives you a brief introduction to subversion, one of the most popular versioning systems. You can either set up / use your own private subversion server, or if you project is open source use a number of free providers (such as Google code) who will provide versioning for you.
Other versioning systems exist other than subversion, such as git, mercurial, etc. - but subversion is arguably the most popular and a good starting point.
Are you using any IDE? Eclipse/Netbeans store the history of your file updates and you can always compare/replace from history.
Note: This is not a replacement of version control in any way and I would highly recommend that you explore open-source version control solutions. This would help you in the long run
Mercurial is the way to go. Seemless merging and integration with java and popular IDE's like Netbeans. You can't go wrong. From the very beginning of my programming experience I learned how to use Mercurial in a day.
Use version management tool likes as SVN or CVS.

HornetQ: which versions can be considered stable?

I've read the HornetQ FAQ, but I can't find anything related.
I'm using HornetQ 2.2.5, it contains a bug (yeah, just one ;). According to this post https://community.jboss.org/message/624958?tstart=2 it's been fixed from 2.2.7.Final onward.
On the main download page, http://www.jboss.org/hornetq/downloads the latest version available is 2.2.5.Final. I'm not scared of compiling a newer version myself, but can I consider it stable?
I'd say yes since it's a minor release update, but I'd like some other opinions. Thanks.
This answer uses the 2.3.X branch as an example. Let's skip looking at their Downloads page, and go straight to the artifacts:
http://mvnrepository.com/artifact/org.hornetq/hornetq-pom
You can see that 2.3.X went through Alpha, Beta and CR stages, to finally reach 2.3.0.Final, the Community release. This is what most people in the open source world would end up using, and what you will find available for easy download.
It's also the last version the non-paying customers are intended to use (in the typical JBoss release cycle - see e.g. the JBoss AS/EAP FAQ). Now, from a commerical perspective, 2.3.0.Final would be considered Alpha again. An analogy from the JBoss AS/EAP FAQ which probably applies here too: "The first EAP stage Alpha is of equivalent, or better, quality to a community Final release [...] we don't recommend using it in production" (probably an overly harsh judgement, but anyway.)
After 2.3.0.Final, they fix more bugs (2.3.1.Final, 2.3.2.Final, ...) until they get to a commercial production release (which they bundle into their other commercial products). So, you should be using the latest .Final that you can for production (for the 2.3.X branch, it was 2.3.13.Final).
Do you have to pay for 2.3.13.Final? From what I can tell, you don't. (HornetQ is also not available commercially AFAICT, except when bundled into other products.)
How do you get 2.3.13.Final? You probably won't find a nicely packaged RPM or even zip file. Instead, you will need to get the JARs from public Maven repos (or build from source).
Do you need a postgrad degree in JBoss Versioning and Product Naming to use their products? Perhaps :) - I don't have one, so apologies in advance if I have failed to comprehend the enormous complexity of the beast. But I do wish the HornetQ developers would make it easy to get a stable release of their product, and know that this is what one is using. It's a good product (perhaps the most fully featured of the lot), with an excellent manual, but a snap judgement of the download page and FAQ may make some people look at competing projects instead.
Well, after some more research, I can say yes, it is stable.
In particular, JBoss EAP 5.1.2 package includes HornetQ version 2.2.10.GA.
I wonder why there is no direct link on the HornetQ download page.

Where can I download the JBoss AS7 Documentation?

Where can I download the JBoss AS7 Documentation?
I tried to find a link to download the JBoss Documentation everywhere (including http://www.jboss.org/), but failed.
You can use the Export to PDF or Export to Word features on the documentation page, per the screenshot below. To do so, choose the guide you wish to export and either the PDF or Word option.
If you do choose this, remember that this is a fast-moving project which, at time of writing, has just celebrated the launch of the JBoss Application Server 7.1.0 release. This means that there will be a lot of tired and excited contributors catching up on and expanding the community documentation. Just be sure you update your local copies regularly, and check back often for changes.
https://docs.jboss.org/author/display/AS7/Documentation
For JBoss AS 7.1, it has changed a bit:
https://docs.jboss.org/author/display/AS71/Documentation
Every minor version will probabaly have a new URL to preserve the docs for the older releases.

JD2XX Java FTDI library - Where can I get it from?

I'm thinking of writing a little program for my SDR-14 software radio
using Java and had a look
around for a Java library to communicate with the SDR's FTDI USB interface IC. A
quick Google finds loads of mentions of the JD2XX library which used
to be at ..
https://jd2xx.dev.java.net/
Except that that page now gives a 404 error so I wonder if that
project was deleted or left that domain following the Oracle take over
of Sun.
Does anyone know where this project has gone and where I can
download the library from ?
Regards
Ian
The project was evidently lost in the recent (or not so recent) java.net upgrade. The last reasonable archive I found with the source for the project is (oddly enough) at http://fred.bilinski.it/src/Fred-20050525.zip so you may want to download that and archive it. It has the source for the jd2xx classes and the jd2xx dll (not sure whether the dll is 32-bit or 64-bit) but these are dated from 2005, so you might want to reach out to http://bleyer.org/jd2xx/ and see if you can get more recent updates.
Alternatively you may want to look at http://sourceforge.net/projects/ftd2xxj/ which appears to be more recent.
It seems he has made a SourceForge project as well: http://sourceforge.net/projects/d2xx/
And the files can be found in the SVN repository: http://d2xx.svn.sourceforge.net/viewvc/d2xx/

Hosting Java Web Start application for inclusion into Linux distros

I authored a Java freeware (closed source) product that I deploy on a web host and distribute via JNLP, inclusive Linux clients.
I plan to suggest this product for inclusion into several Linux distro, if possible "as is" (JNLP-based).
Can I already contact distros, or I need to reconfigure something (deploy on another host, convert JNLP to something, etc.)? What is your experience?
I would say that a freeware JNLP application is pretty much the opposite of what Linux distributions would tend to include.
Firstly, JNLP will not work with the native package management solution. If you wanted to get an application included in a distribution it would need to be package in the native format and updated in the standard way.
Secondly, most distributions will favour open source packages and many will not include non open source packages in their default repositories. Some distributions may have specical non-free repositories. Up until OpenJDK you may not even Java itself would be in these repositories.
In my opinion you would be better trying to build a user base on your own as you then have complete control over releases etc.
Generally Linux distros aren't very interested in things they can't integrate into their release schedules. Since JNLP allows you to deploy a new version at any time, they can't do a version freeze before release. This will exclude you from most distros - Debian even removed Adobe's flash plugin for this very reason, and if they'll remove Flash, don't expect them to make exceptions for a less well known application.
If you're willing to distribute it as just a plain .jar, you might be able to get it in - for debian, you'll want to read the Debian New Maintainer's Guide and Debian Policy on how to package things, submit an ITP (intent to package), upload a package, then seek sponsorship on the debian-mentors mailing list. More info can be found at the Debian mentors FAQ. Packages submitted to Debian will also make their way into Ubuntu in due course.
Other distributions will have different policies, of course; if in doubt, check their faqs, or ask on an appropriate mailing list for the distro in question.
Figure out a way to package it properly on each of the platforms you want to include your software on, and prepare for rigid software management (freezing, multiple versions etc if you want the code included in the standard installation.
Otherwise you may be able to create a simple package just containing the link to the JNLP page which may be included in the non-core parts. It is worth a try.
What applcation are we talking about?
Java programs tend to be very difficult to package and maintain. Therefore guidelines vary from distro to distro. So you should have a look at the specific guidelines for some popular distros first.
In addition to that: Everything that updates itself independently from the package manager can be real pain for the user and maintainer of the package so you should consider a different distribution model for inclusion in linux distros.

Categories