Hi,
There is a known issue in the JDK 1.4 and older versions on Windows
platforms to read/write files with paths exceeding 260 characters. As a
consequence this causes a problem in the ANT <jar> task, e.g.:
$echo %JAVA_HOME%
d:\devtools\j2sdk1.4.2_15
$cd
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService
$dir
Volume in drive D is DATA
Volume Serial Number is 0046-7936
Directory of
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService
15/12/2007 16:46 <DIR> .
15/12/2007 16:46 <DIR> ..
15/12/2007 16:41 159 build.xml
1 File(s) 159 bytes
$dir
target\generated\main\classes\be\fgov\minfin\calculipp\presentation\calculationwebservice\impl
Volume in drive D is DATA
Volume Serial Number is 0046-7936
Directory of
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService\target\generated\main\classes\be\fgov\minfin\calculipp\presentation\calculationwebservice\impl
15/12/2007 16:46 <DIR> .
15/12/2007 16:46 <DIR> ..
15/12/2007 16:41 6,271
RequestEnrolementManuelTypeImpl$IdentificationImpl$PartnerImpl.class
15/12/2007 16:41 4,782
RequestEnrolementManuelTypeImpl$IdentificationImpl$PreviousExerciseSeparatedImpl.class
2 File(s) 11,053 bytes
2 Dir(s) 35,246,559,232 bytes free
The total path of the second file in the previous listing exceeds 260
positions.
The ANT buildfile build.xml contains :
<project default="test" basedir=".">
<target name="test">
<jar destfile="test.jar"
basedir="target/generated/main/classes"/>
</target>
</project>
Now if I execute this target I get:
Apache Ant version 1.6.5 compiled on June 2 2005
Buildfile: build.xml
Detected Java version: 1.4 in: d:\devtools\j2sdk1.4.2_15\jre
Detected OS: Windows XP
parsing buildfile
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService\build.xml
with URI =
file:///D:/projects/spffin/IPP_EX2006-3_VIEW/XX_Implementation/modules/CalculationWebService/build.xml
Project base dir set to:
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService
Build sequence for target(s) `test' is [test]
Complete build sequence is [test, ]
test:
[jar] Building jar:
D:\projects\spffin\IPP_EX2006-3_VIEW\XX_Implementation\modules\CalculationWebService\test.jar
[jar] adding directory META-INF/
[jar] adding entry META-INF/MANIFEST.MF
[jar] adding directory be/
[jar] adding directory be/fgov/
[jar] adding directory be/fgov/minfin/
[jar] adding directory be/fgov/minfin/calculipp/
[jar] adding directory be/fgov/minfin/calculipp/presentation/
[jar] adding directory
be/fgov/minfin/calculipp/presentation/calculationwebservice/
[jar] adding directory
be/fgov/minfin/calculipp/presentation/calculationwebservice/impl/
[jar] adding entry
be/fgov/minfin/calculipp/presentation/calculationwebservice/impl/RequestEnrolementManuelTypeImpl$IdentificationImpl$PartnerImpl.class
BUILD SUCCESSFUL
Total time: 0 seconds
So the second .class file isn't included! If I were to redo the
procedure with JAVA_HOME set to point to a JDK 1.5, it would work, so
the problem is clearly caused by the used JDK.
QUESTION
Is there a way in ANT to make the target execution fail if long files
are detected or when the JDK version is <= 1.4? I know the actual bug is
in the JDK, not in ANT, but now ANT silently ignores the problem and
continues. E.g. is there a way in the ANT script build.xml to define a
prerequirement for the JDK version on which ANT will run?
Best regards,
Davy Toch
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]