Page 1 of 1

java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 31 Oct 2017, 18:33
by kim
I believe this writes out the content of history ?
call FileBot.cmd -script fn:history
it's not working for me now (yes, I'm using java 9) ?
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/D:/.../FileBot.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
javax/xml/bind/JAXBContext
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
at net.filebot.History.importHistory(History.java:209)
at net.filebot.HistorySpooler.getCompleteHistory(HistorySpooler.java:49)
at net.filebot.cli.ScriptShellBaseClass.getRenameLog(ScriptShellBaseClass.java:198)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at Script1.run(Script1.groovy:14)
at net.filebot.cli.ScriptShell.evaluate(ScriptShell.java:64)
at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:74)
at net.filebot.cli.ArgumentProcessor.runScript(ArgumentProcessor.java:127)
at net.filebot.cli.ArgumentProcessor.run(ArgumentProcessor.java:29)
at net.filebot.Main.main(Main.java:111)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
... 12 more

Failure (°_°)

Re: {source} not yielding expected results

Posted: 31 Oct 2017, 19:06
by kim
I deleted the "history.xml" file
that removed the log output to only "...Done ?(?????)?"
BUT then I tried rename in the GUI... then this in log...
before exit of GUI, rename is in "history"... after exit of GUI "history" in GUI is empty (when back in GUI) only a 0 byte "history.xml" file:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
at net.filebot.History.exportHistory(History.java:199)
at net.filebot.HistorySpooler.commit(HistorySpooler.java:80)
at net.filebot.Main.lambda$startUserInterface$2(Main.java:193)
at net.filebot.util.ui.SwingUI$1.windowClosing(SwingUI.java:340)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.Window.processWindowEvent(Unknown Source)
at java.desktop/javax.swing.JFrame.processWindowEvent(Unknown Source)
at java.desktop/java.awt.Window.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue.access$500(Unknown Source)
at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 31 more

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 31 Oct 2017, 22:15
by rednoah
Java 9 is not supported. The history feature is broken with Java 9 because the JAXB module is disabled by default now. I recommend using Java 8 for the time being.

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 01 Nov 2017, 02:05
by kim
will it get fixed, if so when ?
btw: this is the 3-4 java 9 I have seen

Can I do something to hide/disabled any of these java 9 errors ?
(the "WARNING" stuff)

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 01 Nov 2017, 08:34
by rednoah
Yes, for advanced users. You'd have to add lots and lots of command-line options for that. Java 9 support depends on Java 9 support for dependent libraries, such as Groovy, which Java 9 is complaining about. Plus there's some major regression issues in Java Swing that haven't been fixed yet.


1.
Enable JAXB module:

Code: Select all

--add-modules java.xml.bind

2.
Silence warnings:

Code: Select all

--illegal-access=warn
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.function=ALL-UNNAMED
--add-opens=java.base/java.util.regex=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.nio.file=ALL-UNNAMED
--add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.nio.charset=ALL-UNNAMED
--add-opens=java.logging/java.util.logging=ALL-UNNAMED

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 01 Nov 2017, 20:59
by kim
so this looks like it works

Code: Select all

java --add-modules java.xml.bind -jar "D:\...\filebot.jar"
https://stackoverflow.com/questions/180 ... class-mean

then I try to put it in the "filebot.cmd"
but can only add
... --add-modules java.xml.bind --illegal-access=warn -jar "%~dp0FileBot.jar" %*
now, it looks like "history" is working again :)

if I add the rest I get:
WARNING: Unknown module: ALL-UNNAMED-jar specified to --add-opens
Error: Could not find or load main class D:\...\FileBot.jar
Caused by: java.lang.ClassNotFoundException: D:\...\FileBot.jar
EDIT: I don't get it... now looks like is works (no errors)?
--add-modules java.xml.bind --illegal-access=warn --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED -jar "%~dp0FileBot.jar" %*

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 08 Nov 2017, 02:43
by kim
I still get some warnings:

Code: Select all

WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/D:/.../FileBot.jar) to method java.net.URL.access$100()
 java.net.URL.readObject(java.io.ObjectInputStream), java.net.URL.writeObject(java.io.ObjectOutputStream), java.net.URL.set(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String), java.net.URL.set(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String), java.net.URL.readResolve(), java.net.URL.checkSpecifyHandler(java.lang.SecurityManager), java.net.URL.getURLStreamHandler(java.lang.String), java.net.URL.isValidProtocol(java.lang.String)
 java.net.URL.fromURI(java.net.URI), java.net.URL.lookupViaProperty(java.lang.String), java.net.URL.providers(), java.net.URL.lookupViaProviders(java.lang.String), java.net.URL.isOverrideable(java.lang.String), java.net.URL.isBuiltinStreamHandler(java.lang.String)
 java.net.URL.fabricateNewURL(), java.net.URL.setDeserializedFields(java.net.URLStreamHandler), java.net.URL.resetState(), java.net.URL.setSerializedHashCode(int)

WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/D:/.../FileBot.jar) to field java.net.URL.BUILTIN_HANDLERS_PREFIX
 java.net.URL.serialVersionUID, java.net.URL.protocolPathProp, java.net.URL.protocol, java.net.URL.host, java.net.URL.port, java.net.URL.file, java.net.URL.query, java.net.URL.authority, java.net.URL.path, java.net.URL.userInfo, java.net.URL.ref, java.net.URL.hostAddress, java.net.URL.handler, java.net.URL.hashCode, java.net.URL.tempState, java.net.URL.factory, java.net.URL.defaultFactory, java.net.URL.gate, java.net.URL.handlers, java.net.URL.streamHandlerLock, java.net.URL.serialPersistentFields


WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedConstructor$1 (file:/D:/.../FileBot.jar) to constructor java.math.BigDecimal(java.math.BigInteger,long,int,int)

WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/D:/.../FileBot.jar) to method java.math.BigDecimal.add(long,long)
 java.math.BigDecimal.add(long,long,int), java.math.BigDecimal.add(long,int,long,int), java.math.BigDecimal.add(long,int,java.math.BigInteger,int), java.math.BigDecimal.add(java.math.BigInteger,int,java.math.BigInteger,int), java.math.BigDecimal.valueOf(long,int,int)
 java.math.BigDecimal.valueOf(java.math.BigInteger,int,int), java.math.BigDecimal.access$000(java.math.BigDecimal), java.math.BigDecimal.readObject(java.io.ObjectInputStream), java.math.BigDecimal.writeObject(java.io.ObjectOutputStream), java.math.BigDecimal.print(java.lang.String,java.math.BigDecimal), java.math.BigDecimal.divide(long,int,long,int,int,int), java.math.BigDecimal.divide(java.math.BigInteger,int,long,int,int,int), java.math.BigDecimal.divide(long,int,java.math.BigInteger,int,int,int), java.math.BigDecimal.divide(long,int,long,int,long,java.math.MathContext), java.math.BigDecimal.divide(long,int,java.math.BigInteger,int,long,java.math.MathContext), java.math.BigDecimal.divide(java.math.BigInteger,int,java.math.BigInteger,int,int,int), java.math.BigDecimal.divide(java.math.BigInteger,int,long,int,long,java.math.MathContext), java.math.BigDecimal.divide(java.math.BigInteger,int,java.math.BigInteger,int,long,java.math.MathContext), java.math.BigDecimal.multiply(long,long,int), java.math.BigDecimal.multiply(long,java.math.BigInteger,int)
 java.math.BigDecimal.multiply(long,long), java.math.BigDecimal.multiply(java.math.BigInteger,java.math.BigInteger,int), java.math.BigDecimal.parseExp(char[],int,int), java.math.BigDecimal.adjustScale(int,long), java.math.BigDecimal.checkScaleNonZero(long)
 java.math.BigDecimal.divideAndRound(long,long,int,int,int), java.math.BigDecimal.divideAndRound(java.math.BigInteger,long,int,int,int), java.math.BigDecimal.divideAndRound(long,long,int), java.math.BigDecimal.divideAndRound(java.math.BigInteger,java.math.BigInteger,int,int,int)
 java.math.BigDecimal.divideAndRound(java.math.BigInteger,java.math.BigInteger,int), java.math.BigDecimal.divideAndRound(java.math.BigInteger,long,int), java.math.BigDecimal.longDigitLength(long), java.math.BigDecimal.compactValFor(java.math.BigInteger)
 java.math.BigDecimal.divideAndRoundByTenPow(java.math.BigInteger,int,int), java.math.BigDecimal.bigDigitLength(java.math.BigInteger), java.math.BigDecimal.zeroValueOf(int), java.math.BigDecimal.doRound(java.math.BigInteger,int,java.math.MathContext)
 java.math.BigDecimal.doRound(java.math.BigDecimal,java.math.MathContext), java.math.BigDecimal.doRound(long,int,java.math.MathContext), java.math.BigDecimal.stripZerosToMatchScale(java.math.BigInteger,long,int,int)
 java.math.BigDecimal.preAlign(java.math.BigDecimal,java.math.BigDecimal,long,java.math.MathContext), java.math.BigDecimal.matchScale(java.math.BigDecimal[]), java.math.BigDecimal.inflated(), java.math.BigDecimal.checkScale(long,long)
 java.math.BigDecimal.checkScale(java.math.BigInteger,long), java.math.BigDecimal.checkScale(long), java.math.BigDecimal.multiplyAndRound(long,java.math.BigInteger,int,java.math.MathContext), java.math.BigDecimal.multiplyAndRound(long,long,int,java.math.MathContext)
 java.math.BigDecimal.multiplyAndRound(java.math.BigInteger,java.math.BigInteger,int,java.math.MathContext), java.math.BigDecimal.saturateLong(long), java.math.BigDecimal.compareMagnitude(java.math.BigDecimal), java.math.BigDecimal.isPowerOfTen()
 java.math.BigDecimal.squareRootResultAssertions(java.math.BigDecimal,java.math.MathContext), java.math.BigDecimal.squareRootZeroResultAssertions(java.math.BigDecimal,java.math.MathContext), java.math.BigDecimal.longMultiplyPowerTen(long,int)
 java.math.BigDecimal.bigMultiplyPowerTen(long,int), java.math.BigDecimal.bigMultiplyPowerTen(java.math.BigInteger,int), java.math.BigDecimal.bigMultiplyPowerTen(int), java.math.BigDecimal.bigTenToThe(int), java.math.BigDecimal.createAndStripZerosToMatchScale(long,int,long)
 java.math.BigDecimal.createAndStripZerosToMatchScale(java.math.BigInteger,int,long), java.math.BigDecimal.longCompareMagnitude(long,long), java.math.BigDecimal.layoutChars(boolean), java.math.BigDecimal.getValueString(int,java.lang.String,int),  java.math.BigDecimal.expandBigIntegerTenPowers(int), java.math.BigDecimal.audit(), java.math.BigDecimal.needIncrement(long,int,int,long,long), java.math.BigDecimal.needIncrement(long,int,int,java.math.MutableBigInteger,long), java.math.BigDecimal.needIncrement(java.math.MutableBigInteger,int,int,java.math.MutableBigInteger,java.math.MutableBigInteger), java.math.BigDecimal.commonNeedIncrement(int,int,int,boolean), java.math.BigDecimal.divideSmallFastPath(long,int,long,int,long,java.math.MathContext), java.math.BigDecimal.multiplyDivideAndRound(long,long,long,int,int,int), java.math.BigDecimal.roundedTenPower(int,int,int,int), java.math.BigDecimal.compareMagnitudeNormalized(long,int,java.math.BigInteger,int), java.math.BigDecimal.compareMagnitudeNormalized,java.math.BigInteger,int,java.math.BigInteger,int)
 java.math.BigDecimal.compareMagnitudeNormalized(long,int,long,int), java.math.BigDecimal.make64(long,long), java.math.BigDecimal.divideAndRound128(long,long,long,int,int,int,int), java.math.BigDecimal.divRemNegativeLong(long,long), java.math.BigDecimal.unsignedLongCompare(long,long), java.math.BigDecimal.mulsub(long,long,long,long,long), java.math.BigDecimal.scaledTenPow(int,int,int), java.math.BigDecimal.unsignedLongCompareEq(long,long), java.math.BigDecimal.doRound128(long,long,int,int,java.math.MathContext), java.math.BigDecimal.longLongCompareMagnitude(long,long,long,long), java.math.BigDecimal.precision(long,long)

WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/D:/.../FileBot.jar) to field java.math.BigDecimal.intVal
 java.math.BigDecimal.scale, java.math.BigDecimal.precision, java.math.BigDecimal.stringCache, java.math.BigDecimal.INFLATED, java.math.BigDecimal.INFLATED_BIGINT, java.math.BigDecimal.intCompact, java.math.BigDecimal.MAX_COMPACT_DIGITS, java.math.BigDecimal.serialVersionUID, java.math.BigDecimal.threadLocalStringBuilderHelper, java.math.BigDecimal.ZERO_THROUGH_TEN, java.math.BigDecimal.ZERO_SCALED_BY, java.math.BigDecimal.HALF_LONG_MAX_VALUE, java.math.BigDecimal.HALF_LONG_MIN_VALUE, java.math.BigDecimal.ONE_TENTH, java.math.BigDecimal.ONE_HALF
 java.math.BigDecimal.DOUBLE_10_POW, java.math.BigDecimal.FLOAT_10_POW, java.math.BigDecimal.LONG_TEN_POWERS_TABLE, java.math.BigDecimal.BIG_TEN_POWERS_TABLE, java.math.BigDecimal.BIG_TEN_POWERS_TABLE_INITLEN, java.math.BigDecimal.BIG_TEN_POWERS_TABLE_MAX, java.math.BigDecimal.THRESHOLDS_TABLE, java.math.BigDecimal.DIV_NUM_BASE, java.math.BigDecimal.LONGLONG_TEN_POWERS_TABLE

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 08 Nov 2017, 10:17
by rednoah
You'd have too look up the Java 9 module/package for these classes and then add corresponding --add-opens parameters.

@see https://docs.oracle.com/javase/9/docs/a ... t/URL.html

These warnings are probably wrong though. A future Groovy or Java release will probably make them go away.

Re: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext

Posted: 08 Nov 2017, 23:11
by kim

Code: Select all

--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.math=ALL-UNNAMED
https://stackoverflow.com/questions/412 ... cessible-m

EDIT:
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED