edu.rice.cs.util.UnexpectedException: java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._doCompile(DefaultCompilerModel.java:277)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel.compileAll(DefaultCompilerModel.java:171)
at edu.rice.cs.drjava.ui.MainFrame._compileAll(MainFrame.java:5752)
at edu.rice.cs.drjava.ui.MainFrame.access$5300(MainFrame.java:132)
at edu.rice.cs.drjava.ui.MainFrame$55.actionPerformed(MainFrame.java:973)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
at edu.rice.cs.drjava.model.compiler.Javac160Compiler.compile(Javac160Compiler.java:130)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._compileFiles(DefaultCompilerModel.java:363)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._doCompile(DefaultCompilerModel.java:272)
... 40 more
Caused by:
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
at edu.rice.cs.drjava.model.compiler.Javac160Compiler.compile(Javac160Compiler.java:130)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._compileFiles(DefaultCompilerModel.java:363)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._doCompile(DefaultCompilerModel.java:272)
at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel.compileAll(DefaultCompilerModel.java:171)
at edu.rice.cs.drjava.ui.MainFrame._compileAll(MainFrame.java:5752)
at edu.rice.cs.drjava.ui.MainFrame.access$5300(MainFrame.java:132)
at edu.rice.cs.drjava.ui.MainFrame$55.actionPerformed(MainFrame.java:973)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
System Properties:
DrJava Version drjava-20160913-225446
DrJava Build Time 20160913-225446
drjava.debug.port = 64596
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = <anonymized user.home="">\introcs\java\bin
java.vm.version = 24.65-b04
user.country.format = SA
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = GB
user.script =
sun.java.launcher = SUN_STANDARD
sun.os.patch.level =
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.home="">\Desktop
java.runtime.version = 1.7.0_67-b01
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = <anonymized user.home="">\introcs\java\lib\endorsed
os.arch = amd64
java.io.tmpdir = <anonymized user.home="">\AppData\Local\Temp\
line.separator = "\u000d\u000a"
java.vm.specification.vendor = Oracle Corporation
user.variant =
os.name = Windows 8.1
sun.jnu.encoding = Cp1252
java.library.path = <anonymized user.home="">\introcs\java\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;<anonymized user.home="">\introcs\java\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_251\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;<anonymized user.home="">\introcs\j3d\bin;<anonymized user.home="">\introcs\bin;<anonymized user.home="">\introcs\java\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_251\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;<anonymized user.home="">\AppData\Local\Microsoft\WindowsApps;<anonymized user.home="">\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1\bin;<anonymized user.home="">\AppData\Local\Turbo\Cmd\;.
sun.awt.enableExtraMouseButtons = true
java.specification.name = Java Platform API Specification
java.class.version = 51.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 6.3
user.home = <anonymized user.home="">
user.timezone = GMT+01:00
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = Cp1252
java.specification.version = 1.7
java.class.path = <anonymized user.home="">\introcs\drjava.jar
user.name = <anonymized user.name="">
java.vm.specification.version = 1.7
sun.java.command = <anonymized user.home="">\introcs\drjava.jar
java.home = <anonymized user.home="">\introcs\java
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
user.language.format = ar
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.7.0_67
java.ext.dirs = <anonymized user.home="">\introcs\java\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path = <anonymized user.home="">\introcs\java\lib\resources.jar;<anonymized user.home="">\introcs\java\lib\rt.jar;<anonymized user.home="">\introcs\java\lib\sunrsasign.jar;<anonymized user.home="">\introcs\java\lib\jsse.jar;<anonymized user.home="">\introcs\java\lib\jce.jar;<anonymized user.home="">\introcs\java\lib\charsets.jar;<anonymized user.home="">\introcs\java\lib\jfr.jar;<anonymized user.home="">\introcs\java\classes
java.vendor = Oracle Corporation
file.separator = \
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
sun.desktop = windows
sun.cpu.isalist = amd64</anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized>
DrJava configuration file
In resource bundle edu.rice.cs.drjava.config.options:
nothing
In shadowed configuration:
javac.location = C:\Users\<anonymized user.name="">\introcs\java\lib\tools.jar
extra.classpath = C:\Users\<anonymized user.name="">\introcs\stdlib.jar;C:\Users\<anonymized user.name="">\introcs\algs4.jar;C:\Users\<anonymized user.name="">\introcs\j3d\lib\ext\j3dcore.jar;C:\Users\<anonymized user.name="">\introcs\j3d\lib\ext\j3dutils.jar;C:\Users\<anonymized user.name="">\introcs\j3d\lib\ext\vecmath.jar
all.compiler.versions = true
right.margin.columns = 80
lineenum.enabled = true
key.delete.next = [shift DELETE]
key.delete.previous = [shift BACK_SPACE]
interactions.exit.prompt = false
interactions.reset.prompt = false
save.before.compile = true
compile.before.junit = true
save.before.javadoc = true
indent.level = 4
auto.close.comments = true
run.with.assert = false
files.backup = false
last.dir = C:\Users\<anonymized user.name="">\introcs\HelloWorld.java
last.interactions.dir = C:\Users\<anonymized user.name="">\introcs
dialog.completeword.javaapi = true
dialog.drjava.survey.enabled = false
new.version.notification = none (disabled)
file.ext.registration = always</anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized></anonymized>
Used memory: about 42.72 megabytes
Free memory: about 30.28 megabytes
Total memory: about 73.50 megabytes
Total memory can expand to: about 892.50 megabytes
Number of processors/cores: 4
Compiler Discovery Log:
I don't have enough informatoin to understand the bug. You are using an old version of DrJava (built in 201) with problematic support for Java 7 and 8, and an Oracle Java 7 JVM that is no longer supported. If you can replicate the bug running Amazon Corretto JDK 8 Java distribution and the latest version of DrJava available from www.cs.rice.edu/~javaplt/drjavarice, I will look at it and see if I can fix it.
Even in an era where updates to DrJava are infrequent, your version of
DrJava (drjava-20160913-225446) [Sept 13, 2016] is very old.
Please download
https://www.cs.rice.edu/~javaplt/drjavarice/drjava.jar
and try installing a Java 8 JDK which is the configuration I generally
use. Many bugs have been fixed dand support for Java 8 has been added in
DrJava. I no longer even have a Java 7 JRE or JDK installed on any of my
various machines. I use Corretto 8 JDK on Windows 10 and the standard open
source distribution of the Java 8 JDK on Ubuntu Linux 18.04/20.04. Except
for minor packaging differences, the two implementations of Java appear
identical. Recall that DrJava compiles to platform independent bytecode.
The only differences across platforms are when Java interacts with the host
operating system (e.g., writing files). The Java libraries do a good job
of hiding these differences. For everything that I do, Java works
identically on both platforms except for minor differences in fonts and
desktop themes. I do not notice the minor cosmetic differences (which I
have tuned using DrJava Preferences) between the two platforms. I have not
used Macs in almost a decade so I only have to worry about the vagaries of
Microsoft, which has improved in the last decade, and not about the
restrictions imposed by Mac OS X, which appear to be getting worse (but I
am not an expert witness because I refrain from using Macs).
Do you have a particular need for Java 7? I have not tried running the
latest version of DrJava using Java 7. I am not sure it will even run
because I now use Java 8 to compile 8 which stamps all of the class files
the version code for Java 8. Old JVMs will not load bytecode generated by
a newer version of Java. Let me know what happens with the newer JVM and
version of DrJava. By the way, in 2016, I think we still created a ..exe
file for Windows and MacOS app for Mac OS X. Now we only create DrJava jar
files. On Windows, installing Java 8 creates settings in the registry so
you can simply double click on Java .jar flies to run them on the Java 8
JVM.
Best,
Corky
On Tue, Jun 16, 2020 at 8:42 PM MAGED alward1995@users.sourceforge.net
wrote:
Related
Bugs: #978