java ja tomcat

Törmäsin tässä seuraavanlaiseen ongelmaan, toivottavasti joku osaa kerto missä vika.

Käytän Apache Tomcat 5.0 -serveriä freeBSD:n päällä ja tehnyt muutamia servlettejä. Ongelma on se, että jos teen servletin jonka sisällä luodaan olio niin kääntö vaiheessa servletti antaa virhe ilmoituksen olion luomisesta.

Eli yksistään tämän servletin kääntäminen antaa virheen, mutta jos käännän kaikki java-tiedostot kerralla, virhettä ei tule.

Ei ongelma sinänsä, mutten näe järkeä kääntää koko hakemistoa kerralla.Miksi kääntäjä ei osaa huomioida oikein olion luontia...
5280
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

jos vaan hakemistosta löytyy olio.class

Pistäs se herja tänne

Äänestä
  • javac TopFiveServlet.java

    TopFiveServlet.java:11: cannot resolve symbol
    symbol : class TopFive
    location: class games.TopFiveServlet
    TopFive top = new TopFive();
    ^
    TopFiveServlet.java:11: cannot resolve symbol
    symbol : class TopFive
    location: class games.TopFiveServlet
    TopFive top = new TopFive();

    Käännettäessä koko hakemisto: javac *.java virheitä ei tule. TopFive.class tiedosto kyllä löytyy. Onko olion luomisessa tai import/package määrityksistä apua?

    Äänestä

  • TopFive top = new TopFiVe();

    Eikö se näin mene?

    Onko konstruktori pakollinen? Onko sillä vaikutusta?

    Entä luokan puclic-määritys?

    Äänestä

  • Mako kirjoitti:

    javac TopFiveServlet.java

    TopFiveServlet.java:11: cannot resolve symbol
    symbol : class TopFive
    location: class games.TopFiveServlet
    TopFive top = new TopFive();
    ^
    TopFiveServlet.java:11: cannot resolve symbol
    symbol : class TopFive
    location: class games.TopFiveServlet
    TopFive top = new TopFive();

    Käännettäessä koko hakemisto: javac *.java virheitä ei tule. TopFive.class tiedosto kyllä löytyy. Onko olion luomisessa tai import/package määrityksistä apua?

    En ole aikoihin kääntänyt noin ohjelmia, mutta muistaakseni jos on määritetty package, niin pitää olla toi classpath määritetty.

    Eli levyllä:
    ~/src/test/Test.java
    ~/src/test/Test2.java

    Test.java:
    import test.Test2

    => javac -classpath ~/src Test.java

    Kandee käyttää jotain projekti työkalua. maven on hyvä. ant toinen ei niin hyvä kuin maven.

    javac

    Äänestä

  • Mako kirjoitti:

    TopFive top = new TopFiVe();

    Eikö se näin mene?

    Onko konstruktori pakollinen? Onko sillä vaikutusta?

    Entä luokan puclic-määritys?

    Jos haluat instanssin luokasta, on konstruktori pakollinen.

    Jos esittelet muuttujan metodin sisällä, pitää sille aina määrittää toi toinen osa..
    TopFive tf = null;
    TopFive tf = new TopFife();


    Jos haluat käyttää vain luokan metodeja (static)
    TopFive.test();

    Jos muuttuja on luokan ominaisuus niin kääntäjä alustaa sen automaattisesti.

    public TopFive {
    Test test; // saa arvon null
    Test test2 = null; // null
    int n; // 0
    double ttt; // 0.0
    }

    voit myös tehdä näin, ei tarvii importata.

    test.Test test = new test.Test();

    Luokan public määrittelee että luokkaa voidaan käyttää paketin ulkopuolella.

    test.Test(); // public
    test2.Foo(); // import test.Test()


    test.Test(); // ei public
    test2.Foo(); // import test.Test() ei sallittu
    test.Bar(); // import Test(). sallittu

    Äänestä

Kommentoi aloitusta


Mako kirjoitti:

Törmäsin tässä seuraavanlaiseen ongelmaan, toivottavasti joku osaa kerto missä vika.

Käytän Apache Tomcat 5.0 -serveriä freeBSD:n päällä ja tehnyt muutamia servlettejä. Ongelma on se, että jos teen servletin jonka sisällä luodaan olio niin kääntö vaiheessa servletti antaa virhe ilmoituksen olion luomisesta.

Eli yksistään tämän servletin kääntäminen antaa virheen, mutta jos käännän kaikki java-tiedostot kerralla, virhettä ei tule.

Ei ongelma sinänsä, mutten näe järkeä kääntää koko hakemistoa kerralla.Miksi kääntäjä ei osaa huomioida oikein olion luontia...

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu