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

Any questions? Need some help?
Post Reply
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

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

Post 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 (°_°)
Last edited by kim on 01 Nov 2017, 01:55, edited 1 time in total.
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

Re: {source} not yielding expected results

Post 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
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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.
:idea: Please read the FAQ and How to Request Help.
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

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

Post 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)
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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
:idea: Please read the FAQ and How to Request Help.
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

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

Post 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" %*
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

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

Post 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
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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.
:idea: Please read the FAQ and How to Request Help.
kim
Power User
Posts: 1251
Joined: 15 May 2014, 16:17

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

Post 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
Post Reply