Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JAVA] 1.3 onder 5.x compiler

Pagina: 1
Acties:
  • 241 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi allemaal,

Voor een bepaald project moet ik code schrijven die gerund zal moeten worden onder een Java VM 1.3. Een beetje oud, maar spijtig genoeg niets aan te doen. Zoals jullie wel weten, is bijvoorbeeld het Collection framework niet beschikbaar in versie 1.3. Mijn dev. machine heeft JDK versie 1.6 geinstalleerd. Nu vraag ik mij af waarom mijn compiler geen errors geeft bij het compilen van volgende code:


Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Test
{
    public static void main(String[] args)
    {
        java.util.Collection c = new java.util.ArrayList(10);
        c.add(new Object());
        c.add(new Object());
        c.add(new Object());
        System.out.println(c.size());

        return;
    }
}



Ik compile als volgt:

code:
1
javac -source 1.3 -target 1.3 Test.java



Met andere woorden, ik dacht dat ik eenvoudigweg in Eclipse/Intellij kon aangeven onder welke JM versie het zal moeten runnen, en dat mijn compiler wel zal klagen als ik dingen gebruikt die in deze versie niet ondersteund zijn.

Hoe kan ik dit het beste aanpakken? Ik zie het persoonlijk niet goed zitten om een oude JDK te installeren, want dit gaat volgens mij gegarandeerd problemen geven. Wat is het nut van de -source en -target flags als deze niets doen? Of controleren deze alleen syntax-specefieke eigenschappen van de gegeven versie (zoals generics, annotations, ...)? En zo ja, kan ik op 1 of andere manier in Eclipse of Intellij aangeven dat hij ook effectief controleert of de gebruikte java.x klassen weldegelijk bestaan in de aangegeven versie?

heel erg bedankt allen

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Going for adventure, lots of sun and a convertible! | GMT-8


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20-11 13:37

Robtimus

me Robtimus no like you

Collection bestaat al sinds Java 1.2. Als je het echt wilt testen, gebruik dan bv String.split, die is er wel pas sinds 1.4.

Helaas alleen, dat werkt ook niet; hier compiled het gewoon prima. Wat je misschien wel kan doen is de rt.jar van een JRE 1.3 nemen, en aan Eclipse doorgeven dat die gebruikt moet worden ipv de standaard JRE.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

En ook (in Eclipse dan) compiler appliance level (of hoe dat ook heet?) op 1.3 zetten :)

Going for adventure, lots of sun and a convertible! | GMT-8


Verwijderd

Topicstarter
Oops, nu je het zegt, klopt. Met collections heb ik geen problemen, maar dacht dat dit een goed voorbeeld was. Ik zoek een beter. Thanks voor aan te geven.

Deze doet het bijvoorbeeld, terwijl String.replace(String, String) pas later is toegevoegd:

code:
1
2
3
4
5
6
7
8
9
10
public class Test
{
    public static void main(String[] args)
    {
        String str = "Dit is een test!";
        str.replace("abc", "def");

        return;
    }
}

[ Voor 26% gewijzigd door Verwijderd op 29-01-2008 21:00 ]


Verwijderd

Topicstarter
IceManX schreef op dinsdag 29 januari 2008 @ 20:55:
Collection bestaat al sinds Java 1.2. Als je het echt wilt testen, gebruik dan bv String.split, die is er wel pas sinds 1.4.

Helaas alleen, dat werkt ook niet; hier compiled het gewoon prima. Wat je misschien wel kan doen is de rt.jar van een JRE 1.3 nemen, en aan Eclipse doorgeven dat die gebruikt moet worden ipv de standaard JRE.
Aan runtime rt.jar aanpassen heb ik nog niet gedacht. Ik zal dit even proberen! Compliance, target en source level staan alle 3 op 1.3.

Ik test het uit, thanks! Eerst rt.jar van 1.3.1 proberen te vinden :)

EDIT: Thanks beiden! Werkt perfect! Even 1.3.1 SDK gedownload, en in Eclipse toegevoegd dat ik deze JRE ook gebruik. Vervolgens mijn project laten weten dat hij JRE 1.3.1 moet gebruiken, en klaar. Cool!

[ Voor 16% gewijzigd door Verwijderd op 29-01-2008 21:23 ]

Pagina: 1