webForumDet fria alternativet

Ant: kompilera mot annan java version än default

6 svar · 578 visningar · startad av antilizaer

antilizaerMedlem sedan apr. 200358 inlägg
#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.

Aleph_OneMedlem sedan juni 2003370 inlägg
#2

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

antilizaerMedlem sedan apr. 200358 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".

Aleph_OneMedlem sedan juni 2003370 inlägg
#4

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

antilizaerMedlem sedan apr. 200358 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?

Aleph_OneMedlem sedan juni 2003370 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. :)

antilizaerMedlem sedan apr. 200358 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 :)

Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb