In a former life, as a BEA Weblogic consultant, I'm sure I would have sorted this problem out so much sooner!
We're using Apache's JackRabbit to provide a document repository and the configuration is done using and XML config file. Windows users appear to work fine, but on my Linux (Ubuntu) machine, the server reports problems reading the config:
org.apache.jackrabbit.core.config.ConfigurationException: Configuration file could not be read.: jackrabbit.apache.org: jackrabbit.apache.org at org.apache.jackrabbit.core.config.ConfigurationParser.parseXML(ConfigurationParser.java:202) at org.apache.jackrabbit.core.config.RepositoryConfigurationParser.parseRepositoryConfig(RepositoryConfigurationParser.java:181)
The root cause is java.net.UnknownHostException: jackrabbit.apache.org during XML parsing when the DTD in theXML is looked up. It appears that "jackrabbit.apache.org" cannot be resolved.
Ping from a terminal works as expected, giving me an IP address. We've using Sun's Java 1.5.0_1. The java docs say the name resolution is delegated to the underlying OS's name resolution mechanism. This suggested a possible work-around for me, which was to put an entry in my /etc/hosts file.
The work around means I can make progress; the system now starts up correctly, presumably using my local /etc/hosts file to resolve the DTD URL.
But I'm still unhappy. Why isn't my normal name resolution mechanism working correctly? Is it a bug in the JVM?