webForumDet fria alternativet

Ant: kompilera mot annan java version än default

Java

6 svar · 580 visningar · startad av antilizaer

Medlem sedan apr. 200357 inlägg
Frågan#1

Hejsan!

Någon som vet hur man från ant och dess <javac> task kan generera class filer för en specifik java VM. Har exprementerat lite med attributen compiler, target, source till <javac> utan att lyckas. Måste man ha jdk versionen man vill kompilera mot installerad eller kan javac simulera äldre versionen?

Har java 1.4 installerat och vill kompilera mot 1.3, men får det inte att fungerar eller rättare sagt kompileringen går igenom men den verkar fortfarande kompilera mot 1.4 för den klagar att vissa metoder är deprecated som jag vet blev det först i 1.4 och inte var det i 1.3.

Medlem sedan juni 2003372 inlägg
#2

Sätt target="1.3" i din javac task så ska den generera class filer för den versionen.

Medlem sedan apr. 200357 inlägg
#3

Den klagar fortfarande på att vissa metoder är deprecated som blir det först i java 1.4 om jag sätter target="1.3".

Medlem sedan juni 2003372 inlägg
#4

Går kompileringen igenom?
Har du testat köra det genererade i en 1.3 miljö?

Medlem sedan apr. 200357 inlägg
#5

Kompileringen går igenom och allt går att köra i en 1.3 miljö, fast det gör den även om jag struntar i att ange target="1.3" så jag fattar inte riktigt vad target="1.3" gör för något.

Så själva generering av klassfilerna går bra även fast den klagar på att vissa metoder är deprecated så den verkar fortfarande kompilera mot java1.4 klasserna, men eftersom jag inte använder mig av några metoder från java1.4 så går det bra ändå.

Ingen som vet hur man gör för att kompilera mot java1.3 klasserna? Måste väl troligen ha båda java1.3 och java1.4 installerat och sätta vilken man ska använda vid kompileringen för att slippa deprecated varningen skulle jag tro, eller har jag fel?

Medlem sedan juni 2003372 inlägg
#6

Ja det är möjligt att en 1.4 jvm alltid visar att metoder är deprecated fastän den genererar kod för 1.3 (även om det inte verkar helok).
Ett ganska simpelt sätt att få rätt på ditt problem är ju att installera 1.3 och säga till ant att den ska använda den. Det är ju inte så värst mycket extra jobb. :)

Medlem sedan apr. 200357 inlägg
#7

Jo jag får väl ta och installera en 1.3 på min burk, även om det hade varit trevligt att slippa :)

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)