Mit csináljak? Java jre frissítés után csak a Netbeansben fut a programom, de holott 2 hónapja a jar file belőle működött, most az új jar belőle csak a keretet tölti be, és max.1-2 dolog működik.
Már régebb óta programozok Visual Studioban, és júliusban gondoltam egyet JAVA-ban nekiálltam egy projektnek. Javaban előtte sosem programoztam. Netbeanst használok. Nem is tudtam előre, hogy ennyi gond lesz vele.
Július végére már 3000 sorosra duzzadt a program, és tökéletesen működik. Már kiadtam tesztelésre Macintoshra és Linux distrokra is, és ott is működik. Természetesen jar fileban küldtem át.
Ezek után mással kellett foglalkoznom, ezért egészen idáig pihentettem a dolgot. Felfrissült ugye azóta a java jre is minden gépen. A java jre pedig állítólag visszafelé majdnem mindig kompatibilis. Na most jött a nagy csalódás. A Netbeansen belül tökéletesen fut továbbra is a program, de ha jarba vagy jlnpbe raknám nem fut egyáltalán, holott előtte ezekben működött. A kerete elindul, a menü is megvan, de pl. rengeteg dolog, pl. filementés sem működik, holott előtte működött.
Most nem vehetek rá minden felhasználót, hogy ne frissítse a java jret, csak azért mert nekem az nem jó, vagy rakja vissza a régit.
Viszont ez a dolog nagyon felbosszantott, és azon agyalok, hogy fogom és maradok visual studionál.
Erre a problémára szeretnék segítséget találni, hogy hol induljak el egy aktív java programozótól.
Szerintem mivel a programom tökéletesen futott előtte ezért én kódrészleteket nem közölnék, nem kódhiba lesz. Másrészt nem is szeretnék kiadni részleteket belőle. Azt sem hiszem, hogy ennyi idő alatt elavulna teljesen, és azért nem működik.
Szerintem ez olyan probléma, amire egy most is aktív java programozó kapásból tud válaszolni. Szerintem nagyon egyszerű gond lehet, csak mivel én új vagyok a javaban ezért nem tudom.
Előre is köszönöm.
Ez a mentés-betöltés, csak így működött nekem, próbáltam volna egyszerűbben, de másképp nem volt jó csak így.
A kérdésem viszont, hogy ha az új frissítés miatt kijavítom, és jön egy újabb, akkor mi a garancia, hogy nem lesz gond akkor máshol? Mert ha 2 hónap múlva ugyanez lesz akkor semmi értelme javaban ekkora programokat írni.
Én ezt legalább 2 éves projektnek szántam. De ha a frissítések miatt mindig javítani kell, akkor ez nagyon macerás, és hosszú távon semmi értelme.
Mert amit egyszer megírunk, és működött mindig javítani, abba bele lehet őszülni.
Egyetlen megoldásnak látom, hogy nem frissítem a javat, és vissza rakom a régebbi 7-est.
Rendben, felejtsük el, hogyan csinálod.
Azért hadd jegyezzem meg, hogy pár unit teszt itt segíthetne felderíteni, mi az, aminek nem egyezik az értéke a feltételezéseiddel.
- Miért nem logolod ki az adatokat (oldal1, oldal2), hogy lásd, mi a különbség?
- Miért van feltétlenül szükség a splittelésre (ha nem sért a kérdés üzleti érdeket)?
- Gondolom, nem próbáltad teszemazt Maven segítségével lebuildelni. Kíváncsi volnék, úgy mi az eredmény.
- Mennyi ideig is "pihentetted a dolgot"? Hány verziót ugrottál át? Mire vannak beállítva a compliance level-ek?
Illetőleg, csak hogy ismételjem egy picit önmagam: Mit mond a log?
...no, akadt még egy pár percem, így lezavartam pár kísérletet.
Szinte minden kétséget kizáróan az a probléma, amit mondtam: A CLASSPATH.
Cseréld csak ki azt a "classes"-t "bin"-re, vagy "target"-re!
A problémád amúgy nem a Java-tól, hanem az IDE-től függ, mert az határozza meg, milyen struktúrában rakja ki a JAR-ba a projektedet.
A kódot pedig ott rontottad el a jelen probléma tekintetében, hogy belebetonoztad a "classes" sztringtől való függést, az viszont egyáltalán nem biztos, hogy benne van a classpath-ban. Eclipse alatt ugyanez a program már valsózínűleg nem futna le.
.split("classes") helyett kénytelen leszel lekérni a classpath URL-eket, és bármelyik is szerepeljen az elérési út elején, az eltávolítani (.replace(url, ""))
Valószínűleg van ennél mégjobb megoldás is, de annyi időm most nincs, majd Tengor kolléga megmondja...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!