I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hvis du skal hente klasser ind under runtime, kan du gøre det som følger: Class c = Class.forName("nameOfClass"); Object o = c.newInstance(); Det kræver dog at der findes en tom konstruktor? Alternativt kan du bruge URLClassLoader klassen, der bare skal have en array af URL'ere hvorfra klasserne skal loades, URL'erne kan i dit tilfælde formentlig bare referere til direktorier i filsystemet. PS Hvad er en .CAB fil? Hvad ligger i den og i hvilket format?
For hver fil kan du gøre sådan her (du kan naturligvis genbruge den samme ClassLoader): File file = new File( "/home/me/myclassesarehere" ); //eller File file = new File( "c:\\home\\me\\myclassesarehere" ); URL url = file.toURL(); URL[] urls = new URL[] { url }; ClassLoader cl = new URLClassLoader( urls ); Class c = cl.loadClass("MyClass"); Object o = c.newInstance();
nå... jag har en signed .CAB fil med 500 klasser... haf vill ikke bruge Microsoft VM med sun:s java kan ikke bruge signed .CAB-filer. Så jag er nødt till att lave en signed JAR som bara indeholder en classloader som skall ladda alle mine klasser fra .CAB-filen. Derfor behøver jag vide hur en classloader skall laves =)
det løser sig hvis jag byter JAR mot att bruge en CAB fil, men det er bara Microsoft VM som kan bruge en CAB og jag vill bruge Sun:s VM. Derav ett problem.
Men man kan placera alla filer i en CAB fil og sedan skapa en liten JAR-fil som kun indeholder en classloader som laddar alla filer fra CAB-filen...
Du bliver altså nødt til at fortælle hvad det her CAB format er. Det er i princippet let nok at lave en classloader, men man skal jo vide hvilket format det er den skal læse.
en CAB fil er något som Microsoft har påfundet....
"det er som en JAR fil men utan en manifest-fil" og den er 50% av størrelsen på en JAR fil"
derfor vill jag bruge den. Dessutom er en CAB-fil persistent, den kan installeras på client-siden så brugeren bara laddar ner den en gång, og sedan kør den fra sin egen maskin. jag har inte hittat en måde att gøra en JAR-fil persistent....
det er let att gøra en classloader siger du. hvordan? kan du post:a kod som behøvs, fra public class till }
Du har stadig ikke skrevet hvilket format CAB er i? Er den binær og hvordan etc... Jeg ved ikke hvad du mener med persistent, en jar fil fil kan også downloades en gang og bruges af brugeren derefter. Du kan ikke bruge et eksempel på en classloader til noget, med mindre du ved hvordan der skal læses fra filer/url eller hvadvedjeg. Hvis jeg får lidt mere information om CAB skal jeg gerne skrive en classloader.
1) Udpakke class-filerne fra CAB med et standard Windows tool og pakke dem ned i en ny jar fil. Meget nemt at gøre, men du får måske problemer med signingen.
2) Du skriver din egen classloader som bruger JNI til at kalde Windows rutinerne til at hente ud fra en CAB med. Grundliggende set skal du bare bruge eksemplet fra API JavaDoc (se under ClassLoader).
arne_v >> jag vill ikke udpakke filerna fra CAB, jag vill ha dem i CAB-filen
min JAR fil med maximum compression bliver 2000kB og min CAB fil bliver 800kB, de er forskellige!
carsten >> hvordan gor man så att en JAR fil stannar på client-sidan så den ikke downloadas varje gång. Nær vi signar jar-filen tar det 60 minnuter att download den, og det er slet ikke acceptabelt, ikke ens en gång...
jag kigger nu på ClassLoader tutorial på IBM og de har bra eksempel, men hvordan siger man till en applet att bruge en anden classloader?
oki, efter att ha tittat på classloaders og CAB-filer har jag kommit fram till att det skall ikke bruges...
carsten >> du får gærna berætta hvordan man låter en JAR-fil installeras på client:en. Jag har en signed JAR-fil, men den download:as varje gång brugeren startar om sin browser og stannar alltså ikke på clien-siden...
Jeg bruger ikke applets, så jeg er ikke hjemme i hvad der tillades og ikke tillades. Det er dog helt sikkert at du ikke kan få lov at installere jar filen hos klienten uden klientens tilladelse, alt andet ville være farligt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.