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.
"Viszont ez a dolog nagyon felbosszantott, és azon agyalok, hogy fogom és maradok visual studionál. "
Alternatív megoldásként próbáld ki a Qt-ot, ha cross-platform alkalmazást szeretnél írni.
TL;DR szorri
A JRE frissítés nekem is mindig problémás, én nem is szoktam használni az Updatert. Én ilyenkor mindent letörlök, NB, JDK, aztán újra "nulláról" felteszem mindenből a legfrissebbet.
Ez az első hiba:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException:
1
at kj01.kezdolap.jButton6ActionPerformed(kezdolap.java:1006)
at kj01.kezdolap.access$2100(kezdolap.java:32)
at kj01.kezdolap$19.actionPerformed(kezdolap.java:801)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Előre is köszönöm a gyors reagálást.
Ha ez így van, akkor a JAVA egyáltalán nem userbarát? Vagyis mivel én nem tudom, hogy egy felhasználó mikor frissíti a jret, vagy mikor nem, akkor nekem mindig át kellene írnom a programot? Pedig azt hittem, hogy visszafelé nem változtatnak, tehát ami futott mondjuk a jre 7.47-ben annak futnia kellene jre 7.51-ben is. Állítólag még egy teljes generációval előttinek is futnia kellene. Tehát egy jre 6-osban írtnak is.
Persze mennek a kezek, mivel sokat tanultam ebből, pedig próbáltam bemagyarázni magamnak, hogy nem ekkora a probléma.
A kompatibilitás megvan. A hiba túlindexelésnek tűnik, amit valószínűleg nem a java követ el, hanem te, aki a kódot írtad.
Olyant el tudok képzelni, hogy a kód eddig sem volt "tökéletes" csak a benne lévő hibát eddig átugrotta a JVM, most viszont hibát dob róla. Ha egy ilyen helyzet áll fenn, akkor az hibajavításnak tekinthető. Az elvárható, hogy az új verzió a régi hibáit javítsa. Az pedig normális, hogy a hibás program, hibás környezettel fut, viszont ugyen az a program a javítás után már nem működik.
Nézd meg, hogy ott miket indexelsz és mitől szalad ki a tömbből!
Nem változtattam. Simán run file-t nyomok, Run->Run file. Itt a program ugyanúgy jól működik, mint régen.
Viszont a belőle készült jar nem fut tovább, és az dobja ezt a hibát.
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!