ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grenner Daniel <>
Subject ejbjar dtd location problem
Date Tue, 26 Nov 2002 11:25:23 GMT
I believe there is a problem with the how the <dtd> element in the ejbjar
task handles locations.

As a part of my ejbjar task I have:
<dtd location="${dtd.dir}/ejb-jar_2_0.dtd" publicId="-//Sun Microsystems,
Inc.//DTD Enterprise JavaBeans 2.0//EN"/>

This works fine when I call the build.xml file directly, or from another
.xml file which is located in the same directory (with antcall). When I call
the task (with antcall) from another directory (located one step above) I
receive the error:
   [ejbjar] Could not resolve ( publicId: -//Sun Microsystems, Inc.//DTD
Enterprise JavaBeans 2.0//EN, systemId: to a local entity

At first I thought that my paths were incorrect (e.g. ${dtd.dir}), but after
checking them I found that they were correct. Other tasks in my build.xml
file work correctly with the same setup of paths when used with antcall.

If ${dtd.dir} is replaced with an absolute path the dtd files are found, so
I am able to work around the problem with:
<property name="dtd.dir" value="${basedir}/dtd"/>
instead of using
<property name="proj.dir" value="."/>
<property name="dtd.dir" value="${proj.dir}/dtd"/>

Another way of solving the problem would be:
<property name="proj.dir" value="${basedir}"/>
<property name="dtd.dir" value="${proj.dir}/dtd"/>

My basedir is defined with
<project name="x" default="all" basedir=".">

Is this a bug in ejbjar? No other tasks that I have used behave this way.

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message