Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Anyone with a functioning Quicktime Java applet on the web?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Anyone with a functioning Quicktime Java applet on the web?



Hello again,

I've spent dozens of hours reading and searching the internet, and I'm still stumped why some Windows installations are not able to run my QTJava based applet even though QuickTime is installed (java.lang.NoClassDefFoundError: quicktime/QTException). I have some additional details and a question that might spur someone to an insightful nudge.

On a Windows system that fails (full details at the end of this message):

> echo %classpath%
> .;C:\Program Files\QuickTime\QTSystem\QTJava.zip

Which is where QTJava.zip is found, but java.class.path is C:\PROGRA~1\Java\jre6\classes. Not sure if that is relevant...

Of the dumped system properties, only java.library.path makes any mention of the QTSystem folder.

I ran across one thread where the user was having problems with loading some classes from a complex JAR environment, and a solution was to write a custom class loader. After doing so, the user got the same error "java.lang.NoClassDefFoundError: quicktime/QTException" that was resolved by extending the custom class loader to include .zip files. I'm not sure if the solution is relevant, or if he simply broke something in his custom class loader that would have worked otherwise. I've not written a custom class loader, so before I ventured down that path I was hoping someone might shed some light as to if this is a dead end or potential solution.

Thanks,

Deron



----------------------------------------------------
output to Java Console with level 5 tracing enabled
----------------------------------------------------


basic: Joining applet thread ...
basic: Joined applet thread ...
basic: Referencing classloader: sun.plugin.ClassLoaderInfo@750159, refcount=2
basic: Finding information ...
basic: Releasing classloader: sun.plugin.ClassLoaderInfo@750159, refcount=1
basic: Done ...
basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@3a9bba
basic: Loading applet ...
basic: Initializing applet ...
basic: Starting applet ...
basic: completed perf rollup
network: Cache entry not found [url: http://www.equushd.com/quicktime/QTException.class, version: null]
network: Connecting http://www.equushd.com/quicktime/QTException.class with proxy=DIRECT
network: Connecting socket://www.equushd.com:80 with proxy=DIRECT
java.lang.NoClassDefFoundError: quicktime/QTException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: quicktime.QTException
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 10 more
basic: Exception: java.lang.NoClassDefFoundError: quicktime/QTException
Ignored exception: java.lang.NoClassDefFoundError: quicktime/QTException




----------------------------------------------------
Dump system properties ...
----------------------------------------------------
acl.read = +
acl.read.default =
acl.write = +
acl.write.default =
application.home = C:\PROGRA~1\Java\jre6
awt.toolkit = sun.awt.windows.WToolkit
browser = sun.plugin
browser.vendor = Sun Microsystems, Inc.
browser.version = 1.1
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
file.separator.applet = true
http.agent = Mozilla/4.0 (Windows 7 6.1)
http.auth.serializeRequests = true
https.protocols = TLSv1,SSLv3
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = C:\PROGRA~1\Java\jre6\classes
java.class.version = 50.0
java.class.version.applet = true
java.endorsed.dirs = C:\PROGRA~1\Java\jre6\lib\endorsed
java.ext.dirs = C:\PROGRA~1\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext
java.home = C:\PROGRA~1\Java\jre6
java.io.tmpdir = C:\Users\Deron\AppData\Local\Temp\
java.library.path = C:\Program Files\Safari;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\PROGRA~1\Java\jre6\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\QuickTime\QTSystem\
java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.6.0_16-b01
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.6
java.vendor = Sun Microsystems Inc.
java.vendor.applet = true
java.vendor.url = http://java.sun.com/
java.vendor.url.applet = true
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.6.0_16
java.version.applet = true
java.vm.info = mixed mode, sharing
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 14.2-b01
javaplugin.maxHeapSize = 96m
javaplugin.nodotversion = 160_16
javaplugin.proxy.config.list =
javaplugin.proxy.config.type = browser
javaplugin.version = 1.6.0_16
javaplugin.vm.options = -Djava.class.path=C:\PROGRA~1\Java\jre6\classes -Xbootclasspath/a:C:\PROGRA~1\Java\jre6\lib\deploy.jar;C:\PROGRA~1\Java\jre6\lib\plugin.jar -Xmx96m -Djavaplugin.maxHeapSize=96m -Xverify:remote -Djavaplugin.version=1.6.0_16 -Djavaplugin.nodotversion=160_16 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\Java\jre6
line.separator = \r\n
line.separator.applet = true
os.arch = x86
os.arch.applet = true
os.name = Windows 7
os.name.applet = true
os.version = 6.1
os.version.applet = true
package.restrict.access.com.sun.deploy = true
package.restrict.access.netscape = false
package.restrict.access.org.mozilla.jss = true
package.restrict.access.sun = true
package.restrict.definition.com.sun.deploy = true
package.restrict.definition.java = true
package.restrict.definition.netscape = true
package.restrict.definition.org.mozilla.jss = true
package.restrict.definition.sun = true
path.separator = ;
path.separator.applet = true
sun.arch.data.model = 32
sun.boot.class.path = C:\PROGRA~1\Java\jre6\lib\resources.jar;C:\PROGRA~1\Java\jre6\lib\rt.jar;C:\PROGRA~1\Java\jre6\lib\sunrsasign.jar;C:\PROGRA~1\Java\jre6\lib\jsse.jar;C:\PROGRA~1\Java\jre6\lib\jce.jar;C:\PROGRA~1\Java\jre6\lib\charsets.jar;C:\PROGRA~1\Java\jre6\classes;C:\PROGRA~1\Java\jre6\lib\deploy.jar;C:\PROGRA~1\Java\jre6\lib\plugin.jar
sun.boot.library.path = C:\PROGRA~1\Java\jre6\bin
sun.cpu.endian = little
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.jnu.encoding = Cp1252
sun.management.compiler = HotSpot Client Compiler
sun.net.client.defaultConnectTimeout = 120000
sun.net.http.errorstream.enableBuffering = true
sun.os.patch.level =
trustProxy = true
user.country = US
user.dir = C:\Program Files\Safari
user.home = C:\Users\Deron
user.language = en
user.name = Deron
user.timezone = GMT-07:00
user.variant =
----------------------------------------------------
Dump deployment properties ...
----------------------------------------------------
deployment.browser.path = C:\Program Files\Internet Explorer\iexplore.exe
deployment.browser.vm.iexplorer = true
deployment.browser.vm.mozilla = true
deployment.cache.enabled = true
deployment.cache.jarcompression = 0
deployment.cache.max.size = -1
deployment.capture.mime.types = false
deployment.console.startup.mode = SHOW
deployment.control.panel.log = false
deployment.javapi.cache.update = false
deployment.javapi.lifecycle.exception = true
deployment.javapi.log.filename =
deployment.javapi.runtime.type = 0
deployment.javapi.trace.filename =
deployment.javaws.associations = ASK_USER
deployment.javaws.autodownload = ALWAYS
deployment.javaws.cache.update = false
deployment.javaws.home.jnlp.url = http://java.sun.com/products/javawebstart
deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
deployment.javaws.logFileName =
deployment.javaws.muffin.max = 256
deployment.javaws.shortcut = ASK_IF_HINTED
deployment.javaws.ssv.enabled = true
deployment.javaws.traceFileName =
deployment.javaws.uninstall.shortcut = false
deployment.javaws.update.timeout = 1500
deployment.jpi.mode.new = true
deployment.log = true
deployment.max.output.file.size = 10
deployment.max.output.files = 5
deployment.mime.types.use.default = true
deployment.proxy.bypass.local = false
deployment.proxy.override.hosts =
deployment.proxy.same = false
deployment.proxy.type = 3
deployment.repository.askdownloaddialog.show = true
deployment.repository.enabled = true
deployment.security.SSLv2Hello = false
deployment.security.SSLv3 = true
deployment.security.TLSv1 = true
deployment.security.askgrantdialog.notinca = true
deployment.security.askgrantdialog.show = true
deployment.security.authenticator = true
deployment.security.blacklist.check = true
deployment.security.browser.keystore.use = true
deployment.security.clientauth.keystore.auto = true
deployment.security.expired.warning = true
deployment.security.https.warning.show = false
deployment.security.jsse.hostmismatch.warning = true
deployment.security.notinca.warning = true
deployment.security.password.cache = true
deployment.security.pretrust.list = true
deployment.security.sandbox.awtwarningwindow = true
deployment.security.sandbox.jnlp.enhanced = true
deployment.security.trusted.policy =
deployment.security.validation.crl = false
deployment.security.validation.ocsp = false
deployment.system.security.blacklist = C:\PROGRA~1\Java\jre6\lib\security\blacklist
deployment.system.security.cacerts = C:\PROGRA~1\Java\jre6\lib\security\cacerts
deployment.system.security.jssecacerts = C:\PROGRA~1\Java\jre6\lib\security\jssecacerts
deployment.system.security.oldcacerts = C:\PROGRA~1\Java\jre6\lib\security\cacerts
deployment.system.security.oldjssecacerts = C:\PROGRA~1\Java\jre6\lib\security\jssecacerts
deployment.system.security.trusted.certs = C:\PROGRA~1\Java\jre6\lib\security\trusted.certs
deployment.system.security.trusted.clientauthcerts = C:\PROGRA~1\Java\jre6\lib\security\trusted.clientcerts
deployment.system.security.trusted.jssecerts = C:\PROGRA~1\Java\jre6\lib\security\trusted.jssecerts
deployment.system.security.trusted.publishers = C:\PROGRA~1\Java\jre6\lib\security\trusted.publishers
deployment.system.tray.icon = true
deployment.trace = true
deployment.update.mime.types = true
deployment.user.cachedir = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\cache
deployment.user.extdir = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\ext
deployment.user.logdir = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\log
deployment.user.security.blacklist = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\blacklist
deployment.user.security.policy = file://C:/Users/Deron/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
deployment.user.security.saved.credentials = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\auth.dat
deployment.user.security.trusted.cacerts = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts
deployment.user.security.trusted.certs = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
deployment.user.security.trusted.clientauthcerts = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.clientcerts
deployment.user.security.trusted.jssecacerts = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts
deployment.user.security.trusted.jssecerts = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecerts
deployment.user.security.trusted.publishers = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\security\trusted.publishers
deployment.user.tmp = C:\Users\Deron\AppData\LocalLow\Sun\Java\Deployment\tmp
deployment.version = 6.0
java.quick.starter = false





Hi,

As you may know, I've been struggling with rolling out a simple web site that uses an applet that plays videos using quicktime for java.

The first problem was that all applets must now be signed if they use qtjava. Easy enough once you know about that.

Second problem was FireFox on the Mac displays the video offset down equal to the amount of decorations above the page canvas (tabs, url etc) No solution yet, but I can live with it.

What could be the final problem (I hope!) is that some Windows installations fail to run the applet at all. Even though Java is running fine, and QuickTime has been installed and qtj is properly listed in the systems classpath.

So 1) does anyone have their own QTJ applet accessible on the web so I can see if this is a problem with my applet or with the Windows environment in question?

2) does anyone know how I might resolve this error: I'm guessing that some how the JRE is not finding the qtjava.zip file? (even though it should) Do I need some kind of special classloader, or something in the manifest, or??

Thanks again!!

For anyone who cares, the current test app is up at http://www.equushd.com. Click on a horse (not all have a video yet) to play the video.

Deron


--
Happy Trails,
Deron Kazmaier   email@hidden
KD0AYO	Western South Dakota
Dog Star Kennel http://www.dogstarkennel.com
--- Racing AKC Sepp-Star Seppala Siberian Husky Sled Dogs

_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-java mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Anyone with a functioning Quicktime Java applet on the web? (From: PageStream Support <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.