[Java] JAR in lib\ext overriden?

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

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 01-12 19:51

Robtimus

me Robtimus no like you

Topicstarter
Het probleem is als volgt:

Omdat ik hier 6 Java VMs heb (3x SDK met bijbehorende JRE), en het installeren van een JAR file in de lib\ext folder van een JRE wat uitgebreidt werd (dezelfde files 6x kopieren, daarbij steeds de JRE folder opzoeken...) heb ik een soort Add/Remove programs geschreven JAR files.

Nu werkt die tool, op 1 ding na: de tool draait onder een JRE en maakt daarbij gebruik van een 2-tal JARs die in de lib\ext folder staan. Probleem is dus, dat ik via mijn tool die JARs niet kan verwijderen bij een upgrade van de JARs.

Is het mogelijk om op 1 of andere manier de CLASSPATH voorrang te geven boven de lib\ext folder? Dan kan ik de tool gewoon starten met een eigen kopie van de JARs die niet meer hoeft te veranderen zolang de tool niet verandert. Ik heb dit nu al geprobeerd (javaw -cp jar1;jar2) maar dan nog weigert hij de JAR in de lib\ext folder te verwijderen.

Iemand een idee of dit wel mogelijk is?

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


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 27-11 16:36
RTFM
http://java.sun.com/docs/books/tutorial/ext/basics/load.html

Als in ja het kan, maar daarvoor moet je een klerezooi aan ranzigheid toepassen. Maar ik betwijfel of dat voldoende is.

Door een custom classloader te schrijven kun je inderdaad je extensions "overriden". Maar punt is dat je voor die tijd allang een eigen class hebt geladen welke de Java VM niet in je bootstrap of extensions heeft kunnen vinden. Dus hoe dan ook, het java proces zal die extensions van jou allang geopend hebben voordat de VM er ook maar aan toe komt jou code uit te gaan voeren.

[ Voor 106% gewijzigd door The - DDD op 22-04-2007 23:41 ]


Verwijderd

http://java.sun.com/j2se/1.4.2/docs/guide/standards/

het volstaat dus je nieuwe libs in de endorsed dir te plaatsen

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 27-11 16:36
@voodoochile: Lees nog is een keer goed wat IceManX vraagt.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 07:54

Janoz

Moderator Devschuur®

!litemod

Ik heb eigenlijk nooit de behoefte gehad om JAR files in mijn lib/ext te instaleren, en ik werk al heel lang met java.

Maar goed. Het is by design dat je de classes in je jre zelf (incl ext) niet kunt vervangen. Zou een mooie boel zijn wanneer je in je applet even je eigen instantie van de SecurityManager de VM in kan krijgen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 01-12 19:51

Robtimus

me Robtimus no like you

Topicstarter
Dit zou een optie kunnen zijn als het om deze standaard packages ging. Het gaat echter om JGoodies Forms en een eigen library, en die zijn nooit endorsed.

Blijkbaar heb ik gewoon pech en moet ik de tool onder een andere JVM draaien om libraries uit de main JVM te upgraden. C'est la vie.

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

Pagina: 1