[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: JAVA_HOME voor javaws



On Fri, Mar 05, 2021 at 11:31:06AM +0200, Wouter Verhelst wrote:
> On Sun, Feb 28, 2021 at 10:43:50AM +0100, Geert Stappers wrote:
> > 
> > Hoi,
> > 
> > Bij het uitvoeren  van `javaws launch.jnlp` krijg ik
> >   Exception in thread "AWT-EventQueue-1"
> >   javax.xml.parsers.FactoryConfigurationError: Provider for class
> >   javax.xml.parsers.DocumentBuilderFactory cannot be created
> > en een java stack trace.
> 
> Die stack trace is geen nutteloze informatie. Mogelijk staat er
> informatie in die zou kunnen helpen met uitvissen waarom de
> DocumentBuilderFactory niet gemaakt kan worden.

Dit bericht heeft wel een stack trace.

 
> > Ik denk dat JAVA_HOME gezet moet worden.
> 
> Dat zou niet nodig mogen zijn.
> 
> Wel is het mogelijk dat je een andere JVM nodig hebt dan degene die je
> geïnstalleerd hebt.

Dat zou er ook aan de hand kunnen zijn.

 
> > Ik weet echter niet met welke waarde.
> > 
> > Dit is er aan "java" ge-installeerd:
> > 
> > $ LANG=C apt search java | grep -i install | grep -e ^icedtea -e ^java -e ^openjdk |grep -v ^lib
> > 
> > WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
> > 
> > icedtea-netx/unstable,now 1.8.4-1 all [installed]

> > openjdk-10-jre/now 10.0.1+10-4 amd64 [installed,local]
> > openjdk-11-jre/unstable,now 11.0.11+4-1 amd64 [installed,automatic]
> > openjdk-17-jre/unstable,now 17~11-1 amd64 [installed,automatic]
> > openjdk-8-jre/now 8u275-b01-1 amd64 [installed,local]
> 
> OK, je hebt dus 4 JVMs geïnstalleerd staan: JDK8, 10, 11, en 17.
> 
> wat zegt
> 
> update-alternatives --display java
> 
> ? Dat toont je welke JVM actief is.


$ LANG=C update-alternatives --display java
java - auto mode
  link best version is /usr/lib/jvm/java-17-openjdk-amd64/bin/java
  link currently points to /usr/lib/jvm/java-17-openjdk-amd64/bin/java
  link java is /usr/bin/java
  slave java.1.gz is /usr/share/man/man1/java.1.gz
/usr/lib/jvm/java-10-openjdk-amd64/bin/java - priority 1101
  slave java.1.gz: /usr/lib/jvm/java-10-openjdk-amd64/man/man1/java.1.gz
/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1111
  slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz
/usr/lib/jvm/java-17-openjdk-amd64/bin/java - priority 1711
  slave java.1.gz: /usr/lib/jvm/java-17-openjdk-amd64/man/man1/java.1.gz
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - priority 1081
  slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz


> Op een Debian-systeem hoort JAVA_HOME te verwijzen naar
> /usr/lib/jvm/default-java, wat een symlink is naar één van de
> geïnstalleerde JVMs. Je kan de te gebruiken JVM selecteren via
> /usr/sbin/update-java-alternatives -- wat een wrapper rond de gewone
> "update-alternatives" is, en ook de default-java symlink en een paar
> andere dingen beheert.

Dat heb ik omgezet naar "Linux commandos"

$ ls -l /usr/lib/jvm/default-java
lrwxrwxrwx 1 root root 25 28 okt  2018 /usr/lib/jvm/default-java -> java-1.11.0-openjdk-amd64
$ sudo /usr/sbin/update-java-alternatives 
usage: update-java-alternatives [--jre-headless] [--jre] [--plugin] [-v|--verbose]
           -l|--list [<jname>]
           -s|--set <jname>
           -a|--auto
           -h|-?|--help
$ sudo /usr/sbin/update-java-alternatives --list
java-1.10.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.10.0-openjdk-amd64
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.17.0-openjdk-amd64      1711       /usr/lib/jvm/java-1.17.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
$ sudo /usr/sbin/update-java-alternatives --set java-1.17.0-openjdk-amd64
Er is geen programma dat clhsdb voorziet.
update-alternatives: fout: geen alternatieven voor extcheck
Er is geen programma dat hsdb voorziet.
update-alternatives: fout: geen alternatieven voor javah
update-alternatives: fout: geen alternatieven voor jhat
update-alternatives: fout: geen alternatieven voor jsadebugd
update-alternatives: fout: geen alternatieven voor mozilla-javaplugin.so
update-alternatives: fout: geen alternatieven voor native2ascii
$ ls -l /usr/lib/jvm/default-java
lrwxrwxrwx 1 root root 25 28 okt  2018 /usr/lib/jvm/default-java -> java-1.11.0-openjdk-amd64
$ 


Iets waar ik een nachtje over ga slapen ...



Groeten
Geert Stappers
-- 
Silence is hard to parse
$ javaws launch.jnlp
Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
Starting application [tw.com.aten.ikvm.KVMMain] ...
Buf size:425984
Exception in thread "AWT-EventQueue-1" javax.xml.parsers.FactoryConfigurationError: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created
	at java.xml/javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:305)
	at java.xml/javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:261)
	at java.xml/javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:140)
	at java.prefs/java.util.prefs.XmlSupport.loadPrefsDoc(XmlSupport.java:243)
	at java.prefs/java.util.prefs.XmlSupport.importMap(XmlSupport.java:376)
	at java.prefs/java.util.prefs.FileSystemPreferences$6.run(FileSystemPreferences.java:594)
	at java.prefs/java.util.prefs.FileSystemPreferences$6.run(FileSystemPreferences.java:587)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.prefs/java.util.prefs.FileSystemPreferences.loadCache(FileSystemPreferences.java:586)
	at java.prefs/java.util.prefs.FileSystemPreferences.initCacheIfNecessary(FileSystemPreferences.java:569)
	at java.prefs/java.util.prefs.FileSystemPreferences.getSpi(FileSystemPreferences.java:546)
	at java.prefs/java.util.prefs.AbstractPreferences.get(AbstractPreferences.java:303)
	at java.prefs/java.util.prefs.AbstractPreferences.getInt(AbstractPreferences.java:411)
	at tw.com.aten.ikvm.ui.RemoteVideo.loadHotKey(Unknown Source)
	at tw.com.aten.ikvm.ui.RemoteVideo.<init>(Unknown Source)
	at tw.com.aten.ikvm.ui.Viewer.<init>(Unknown Source)
	at tw.com.aten.ikvm.KVMMain.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.RuntimeException: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created
	at java.xml/javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:302)
	... 29 more
Caused by: java.util.ServiceConfigurationError: javax.xml.parsers.DocumentBuilderFactory: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
	at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:589)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1212)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1221)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1268)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1267)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1270)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
	at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
	at java.xml/javax.xml.parsers.FactoryFinder$1.run(FactoryFinder.java:287)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.xml/javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:283)
	... 29 more

Reply to: