New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 9 #2602

Open
alfsb opened this Issue Jun 20, 2016 · 8 comments

Comments

Projects
None yet
3 participants
@alfsb

alfsb commented Jun 20, 2016

Java 9 issues:

  • Core:
    • Unable to add PKCS#11 certs with Java 9 (#4147)
    • Unable to import ZAP Root CA Cert from PEM file with Java 9 (#4166)
    • Address deprecation in driver/cert related classes (#4370)
    • Address deprecation in HighlighterManager class (#4385)
    • Size of the configuration file keeps increasing each time ZAP is started with Java 9 (#4194)
  • Add-ons:
    • Update JRuby library (#3944)
    • SOAP Scanner add-on leads to errors with Java 9 (#4037)
    • Source Code Disclosure (WEB-INF folder) fails with Java 9 (#4038)
    • Unable to create reports with Export Report add-on and Java 9 (#4214)
    • SAML add-on leads to errors with Java 9+ (#5032)

Original report:

Zap fails with new Java 9:

~/ZedAttackProxy/zap250$ ./zap.sh
./zap.sh: linha 49: [: 9-ea: esperado expressão de número inteiro
Exiting: ZAP requires a minimum of Java 7 to run, found 9-ea
@alfsb

This comment has been minimized.

Show comment
Hide comment
@alfsb

alfsb Jun 20, 2016

May be related. Removing the if on zap.sh line 49 results in:

~/ZedAttackProxy/zap250$ ./zap.sh 
Available memory: 16004 MB
Setting jvm heap size: -Xmx512m
Can't find bundle for base name Messages, locale en_GB

alfsb commented Jun 20, 2016

May be related. Removing the if on zap.sh line 49 results in:

~/ZedAttackProxy/zap250$ ./zap.sh 
Available memory: 16004 MB
Setting jvm heap size: -Xmx512m
Can't find bundle for base name Messages, locale en_GB

@thc202 thc202 added the Type-Task label Jun 21, 2016

thc202 added a commit to thc202/zaproxy that referenced this issue Jun 21, 2016

Add lang directory to manifest of ZAP JAR
Change build.xml file to include the "lang" directory in the manifest of
ZAP jar, so that it's automatically included in the class path. The
"lang" directory contains the resource messages required to run ZAP.
In newer Java 9 (EA) versions the application class loader is no longer
an instance of URLClassLoader ("JEP 261: Module System") making ZAP to
fail (skip) to dynamically add the "lang" directory to the class path.

Related to zaproxy#2602 - Java 9 (9-ea)

martinkalina pushed a commit to martinkalina/zaproxy that referenced this issue Mar 1, 2017

Add lang directory to manifest of ZAP JAR
Change build.xml file to include the "lang" directory in the manifest of
ZAP jar, so that it's automatically included in the class path. The
"lang" directory contains the resource messages required to run ZAP.
In newer Java 9 (EA) versions the application class loader is no longer
an instance of URLClassLoader ("JEP 261: Module System") making ZAP to
fail (skip) to dynamically add the "lang" directory to the class path.

Related to zaproxy#2602 - Java 9 (9-ea)

thc202 added a commit to thc202/zaproxy that referenced this issue May 11, 2017

Add tests for minimum Java version of an add-on
Add tests to assert that the add-ons with a minimum Java version can be
run in Java 9 (version number is 9, instead of 1.9, per "JEP 223: New
Version-String Scheme").

Related to zaproxy#2602 - Java 9 (9-ea)
@mozfreddyb

This comment has been minimized.

Show comment
Hide comment
@mozfreddyb

mozfreddyb Jul 17, 2017

I have a similar problem, but the version reported is "9-ubuntu".

zap.sh: line 48: [: 9-Ubuntu: integer expression expected
Exiting: ZAP requires a minimum of Java 7 to run, found 9-Ubuntu

mozfreddyb commented Jul 17, 2017

I have a similar problem, but the version reported is "9-ubuntu".

zap.sh: line 48: [: 9-Ubuntu: integer expression expected
Exiting: ZAP requires a minimum of Java 7 to run, found 9-Ubuntu

thc202 added a commit to thc202/zaproxy that referenced this issue Jul 17, 2017

Update version check in zap.sh script for Java 9
Change zap.sh script to also check that the major version (per JEP 223)
is greater than or equal to 9, also, drop early access suffixes from
the version when extracting the major version.

Related to zaproxy#2602 - Java 9 (9-ea)

@thc202 thc202 added this to the 2.7.0 milestone Jul 17, 2017

@thc202 thc202 marked this as a duplicate of #3761 Jul 17, 2017

@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202

thc202 Jul 17, 2017

Member

All Java 9 related issues reported so far should be fixed. Leaving this open for now.

Member

thc202 commented Jul 17, 2017

All Java 9 related issues reported so far should be fixed. Leaving this open for now.

juhakivekas added a commit to juhakivekas/zaproxy that referenced this issue Sep 29, 2017

Add tests for minimum Java version of an add-on
Add tests to assert that the add-ons with a minimum Java version can be
run in Java 9 (version number is 9, instead of 1.9, per "JEP 223: New
Version-String Scheme").

Related to zaproxy#2602 - Java 9 (9-ea)

juhakivekas added a commit to juhakivekas/zaproxy that referenced this issue Sep 29, 2017

Update version check in zap.sh script for Java 9
Change zap.sh script to also check that the major version (per JEP 223)
is greater than or equal to 9, also, drop early access suffixes from
the version when extracting the major version.

Related to zaproxy#2602 - Java 9 (9-ea)

@thc202 thc202 changed the title from Java 9 (9-ea) to Java 9 Oct 2, 2017

@thc202 thc202 removed this from the 2.7.0 milestone Oct 2, 2017

@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202

thc202 Oct 3, 2017

Member

Per #3919, ZAP does not compile with Java 9.

Member

thc202 commented Oct 3, 2017

Per #3919, ZAP does not compile with Java 9.

thc202 added a commit to thc202/zaproxy that referenced this issue Oct 4, 2017

Remove usage of java.awt.Event
Replace usage of java.awt.Event with KeyEvent, the former is deprecated
in Java 9, also, update to recommended (non-deprecated) masks (e.g.
SHIFT_DOWN_MASK instead of SHIFT_MASK).

Part of zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Oct 4, 2017

Address compilation errors with Java 9
Address compilation errors related to change in return type of method
DefaultMutableTreeNode.children​() and depthFirstEnumeration​(), with Java
9 it returns Enumeration<TreeNode>.

Part of zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Oct 5, 2017

Replace usage of Class.newInstance
Replace usage of Class.newInstance with usage of getDeclaredConstructor,
to create new instances, the former method is deprecated in Java 9.
Change DbSQL.initDatabase to also throw just one (checked) exception,
DatabaseException.

Part of zaproxy#2602 - Java 9
@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202

thc202 Oct 6, 2017

Member

As reported in #3934, the add-on Access Control Testing does not work correctly with Java 9:

120727 [AWT-EventQueue-0] ERROR org.zaproxy.zap.ZAP$UncaughtExceptionLogger  - Exception in thread "AWT-EventQueue-0"
java.lang.ExceptionInInitializerError
        at org.zaproxy.zap.extension.accessControl.view.ContextAccessControlPanel$AccessRuleNodeCellRenderer.getTreeCellRendererComponent(ContextAccessControlPanel.java:300)
        at org.jdesktop.swingx.JXTree$DelegatingRenderer.getTreeCellRendererComponent(JXTree.java:1269)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
        at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache.rebuild(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setModel(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI.setModel(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.propertyChange(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
        at java.desktop/java.awt.Component.firePropertyChange(Unknown Source)
        at java.desktop/javax.swing.JTree.setModel(Unknown Source)
        at org.jdesktop.swingx.JXTree.setModel(JXTree.java:1532)
        at org.jdesktop.swingx.JXTreeTable.setTreeTableModel(JXTreeTable.java:1238)
        at org.zaproxy.zap.extension.accessControl.view.ContextAccessControlPanel.initContextData(ContextAccessControlPanel.java:233)
        at org.parosproxy.paros.view.SessionDialog.initContextPanel(SessionDialog.java:125)
        at org.parosproxy.paros.view.SessionDialog.initParam(SessionDialog.java:111)
        at org.parosproxy.paros.view.View.showSessionDialog(View.java:689)
        at org.parosproxy.paros.view.View.showSessionDialog(View.java:657)
        at org.parosproxy.paros.control.MenuFileControl.properties(MenuFileControl.java:506)
        at org.zaproxy.zap.view.MainToolbarPanel$7.actionPerformed(MainToolbarPanel.java:357)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
        at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.desktop/java.awt.Component.processEvent(Unknown Source)
        at java.desktop/java.awt.Container.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.Component.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(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.NullPointerException
        at java.desktop/javax.swing.ImageIcon.<init>(Unknown Source)
        at org.zaproxy.zap.extension.accessControl.widgets.SiteNodeIcons.<clinit>(SiteNodeIcons.java:27)
        ... 60 more

The add-on SOAP Scanner is also failing:

15374 [ZAP-BootstrapGUI] ERROR org.parosproxy.paros.extension.ExtensionLoader  - javax/xml/soap/SOAPException
java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3110)
	at java.base/java.lang.Class.getConstructor0(Class.java:3315)
	at java.base/java.lang.Class.getConstructor(Class.java:2108)
	at org.zaproxy.zap.control.AddOnLoaderUtils.loadAndInstantiateClassImpl(AddOnLoaderUtils.java:111)
	at org.zaproxy.zap.control.AddOnLoaderUtils.loadDeclaredClasses(AddOnLoaderUtils.java:151)
	at org.zaproxy.zap.control.AddOnLoaderUtils.getActiveScanRules(AddOnLoaderUtils.java:177)
	at org.zaproxy.zap.control.AddOnLoader.getActiveScanRules(AddOnLoader.java:791)
	at org.parosproxy.paros.core.scanner.PluginFactory.initPlugins(PluginFactory.java:99)
	at org.parosproxy.paros.core.scanner.PluginFactory.getLoadedPlugins(PluginFactory.java:131)
	at org.parosproxy.paros.core.scanner.PluginFactory.loadAllPlugin(PluginFactory.java:397)
	at org.zaproxy.zap.extension.ascan.ScanPolicy.<init>(ScanPolicy.java:22)
	at org.zaproxy.zap.extension.ascan.PolicyManager.getAllPolicyNames(PolicyManager.java:68)
	at org.zaproxy.zap.extension.ascan.PolicyManager.init(PolicyManager.java:51)
	at org.zaproxy.zap.extension.ascan.ExtensionActiveScan.postInit(ExtensionActiveScan.java:130)
	at org.parosproxy.paros.extension.ExtensionLoader.hookAllExtension(ExtensionLoader.java:793)
	at org.parosproxy.paros.extension.ExtensionLoader.startLifeCycle(ExtensionLoader.java:664)
	at org.parosproxy.paros.control.AbstractControl.loadExtension(AbstractControl.java:57)
	at org.parosproxy.paros.control.Control.init(Control.java:123)
	at org.parosproxy.paros.control.Control.initSingletonWithView(Control.java:299)
	at org.zaproxy.zap.GuiBootstrap.initControlAndPostViewInit(GuiBootstrap.java:258)
	at org.zaproxy.zap.GuiBootstrap.access$100(GuiBootstrap.java:70)
	at org.zaproxy.zap.GuiBootstrap$2.run(GuiBootstrap.java:200)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.ClassNotFoundException
	at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:256)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 24 more
Member

thc202 commented Oct 6, 2017

As reported in #3934, the add-on Access Control Testing does not work correctly with Java 9:

120727 [AWT-EventQueue-0] ERROR org.zaproxy.zap.ZAP$UncaughtExceptionLogger  - Exception in thread "AWT-EventQueue-0"
java.lang.ExceptionInInitializerError
        at org.zaproxy.zap.extension.accessControl.view.ContextAccessControlPanel$AccessRuleNodeCellRenderer.getTreeCellRendererComponent(ContextAccessControlPanel.java:300)
        at org.jdesktop.swingx.JXTree$DelegatingRenderer.getTreeCellRendererComponent(JXTree.java:1269)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
        at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache.rebuild(Unknown Source)
        at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setModel(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI.setModel(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.propertyChange(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
        at java.desktop/java.awt.Component.firePropertyChange(Unknown Source)
        at java.desktop/javax.swing.JTree.setModel(Unknown Source)
        at org.jdesktop.swingx.JXTree.setModel(JXTree.java:1532)
        at org.jdesktop.swingx.JXTreeTable.setTreeTableModel(JXTreeTable.java:1238)
        at org.zaproxy.zap.extension.accessControl.view.ContextAccessControlPanel.initContextData(ContextAccessControlPanel.java:233)
        at org.parosproxy.paros.view.SessionDialog.initContextPanel(SessionDialog.java:125)
        at org.parosproxy.paros.view.SessionDialog.initParam(SessionDialog.java:111)
        at org.parosproxy.paros.view.View.showSessionDialog(View.java:689)
        at org.parosproxy.paros.view.View.showSessionDialog(View.java:657)
        at org.parosproxy.paros.control.MenuFileControl.properties(MenuFileControl.java:506)
        at org.zaproxy.zap.view.MainToolbarPanel$7.actionPerformed(MainToolbarPanel.java:357)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
        at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.desktop/java.awt.Component.processEvent(Unknown Source)
        at java.desktop/java.awt.Container.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.Component.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(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.NullPointerException
        at java.desktop/javax.swing.ImageIcon.<init>(Unknown Source)
        at org.zaproxy.zap.extension.accessControl.widgets.SiteNodeIcons.<clinit>(SiteNodeIcons.java:27)
        ... 60 more

The add-on SOAP Scanner is also failing:

15374 [ZAP-BootstrapGUI] ERROR org.parosproxy.paros.extension.ExtensionLoader  - javax/xml/soap/SOAPException
java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3110)
	at java.base/java.lang.Class.getConstructor0(Class.java:3315)
	at java.base/java.lang.Class.getConstructor(Class.java:2108)
	at org.zaproxy.zap.control.AddOnLoaderUtils.loadAndInstantiateClassImpl(AddOnLoaderUtils.java:111)
	at org.zaproxy.zap.control.AddOnLoaderUtils.loadDeclaredClasses(AddOnLoaderUtils.java:151)
	at org.zaproxy.zap.control.AddOnLoaderUtils.getActiveScanRules(AddOnLoaderUtils.java:177)
	at org.zaproxy.zap.control.AddOnLoader.getActiveScanRules(AddOnLoader.java:791)
	at org.parosproxy.paros.core.scanner.PluginFactory.initPlugins(PluginFactory.java:99)
	at org.parosproxy.paros.core.scanner.PluginFactory.getLoadedPlugins(PluginFactory.java:131)
	at org.parosproxy.paros.core.scanner.PluginFactory.loadAllPlugin(PluginFactory.java:397)
	at org.zaproxy.zap.extension.ascan.ScanPolicy.<init>(ScanPolicy.java:22)
	at org.zaproxy.zap.extension.ascan.PolicyManager.getAllPolicyNames(PolicyManager.java:68)
	at org.zaproxy.zap.extension.ascan.PolicyManager.init(PolicyManager.java:51)
	at org.zaproxy.zap.extension.ascan.ExtensionActiveScan.postInit(ExtensionActiveScan.java:130)
	at org.parosproxy.paros.extension.ExtensionLoader.hookAllExtension(ExtensionLoader.java:793)
	at org.parosproxy.paros.extension.ExtensionLoader.startLifeCycle(ExtensionLoader.java:664)
	at org.parosproxy.paros.control.AbstractControl.loadExtension(AbstractControl.java:57)
	at org.parosproxy.paros.control.Control.init(Control.java:123)
	at org.parosproxy.paros.control.Control.initSingletonWithView(Control.java:299)
	at org.zaproxy.zap.GuiBootstrap.initControlAndPostViewInit(GuiBootstrap.java:258)
	at org.zaproxy.zap.GuiBootstrap.access$100(GuiBootstrap.java:70)
	at org.zaproxy.zap.GuiBootstrap$2.run(GuiBootstrap.java:200)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.ClassNotFoundException
	at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:256)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 24 more

thc202 added a commit to thc202/zap-extensions that referenced this issue Oct 6, 2017

accessControl: correct resource loading
Change SiteNodeIcons and SiteTreeNodeCellRenderer (the latter class is
currently unused) to use the classes themselves to load the resources,
which ensures it's used the correct class loader to load the resource.
Bump version and update changes in ZapAddOn.xml file.

Part of zaproxy/zaproxy#2602 - Java 9
Reported in zaproxy/zaproxy#3934.

thc202 added a commit to thc202/zap-extensions that referenced this issue Oct 13, 2017

scripts: use component pop up menus in text areas
Change OutputPanel and CommandPanel to set a pop up menu, ZapPopupMenu,
into the text areas instead of listening for mouse clicks, as the former
works with mouse and keyboard.
Add a JPopupMenu (ZapPopupMenu) that invokes the main/core pop menu.
Change ScriptsListPanel to also use the new class, ZapPopupMenu.

These changes also address deprecation warnings with Java 9, by removing
usage of MouseEvent.getModifiers() and InputEvent.BUTTON3_MASK.
Related to zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zap-extensions that referenced this issue Oct 13, 2017

Address compilation errors with Java 9 (alpha)
Address compilation errors related to change in return type of method
TreeNode.children​() and depthFirstEnumeration​(), with Java 9 it returns
Enumeration<TreeNode>.
Remove/replace usage of Integer and Long constructors.
Update changes and bump version in ZapAddOn.xml files (where required).

Part of zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zap-extensions that referenced this issue Oct 13, 2017

Remove usage of java.awt.Event (alpha)
Replace usage of java.awt.Event with KeyEvent, the former is deprecated
in Java 9, also, update to recommended (non-deprecated) masks (e.g.
SHIFT_DOWN_MASK instead of SHIFT_MASK).
Update changes and bump version in ZapAddOn.xml files (where required).

Part of zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zap-extensions that referenced this issue Oct 16, 2017

tokengen: use component pop up menus in text areas
Change AnalyseTokensDialog to set a custom pop up menu into the text
areas instead of listening for mouse clicks, as the former works with
mouse and keyboard.

This change also addresses deprecation warnings with Java 9, by removing
usage of MouseEvent.getModifiers() and InputEvent.BUTTON3_MASK.
Related to zaproxy/zaproxy#2602 - Java 9
@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202

thc202 Nov 9, 2017

Member

There's an issue when using scripts (can be reproduced by using one of the default pop up menu Extender scripts):

ERROR org.zaproxy.zap.ZAP$UncaughtExceptionLogger  - Exception in thread "AWT-EventQueue-0"
java.lang.BootstrapMethodError: call site initialization exception
	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:385)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:250)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:240)
	at jdk.nashorn.javaadapters.org_zaproxy_zap_view_popup_PopupMenuItemHistoryReferenceContainer.isManagingFocus(Unknown Source)
	at java.desktop/javax.swing.JComponent.<init>(JComponent.java:603)
	at java.desktop/javax.swing.AbstractButton.<init>(AbstractButton.java:74)
	at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:145)
	at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:124)
	at org.parosproxy.paros.extension.ExtensionPopupMenuItem.<init>(ExtensionPopupMenuItem.java:73)
	at org.zaproxy.zap.view.popup.ExtensionPopupMenuItemMessageContainer.<init>(ExtensionPopupMenuItemMessageContainer.java:53)
	at org.zaproxy.zap.view.popup.PopupMenuItemHttpMessageContainer.<init>(PopupMenuItemHttpMessageContainer.java:111)
	at org.zaproxy.zap.view.popup.PopupMenuItemHistoryReferenceContainer.<init>(PopupMenuItemHistoryReferenceContainer.java:68)
	at org.zaproxy.zap.view.popup.PopupMenuItemHistoryReferenceContainer.<init>(PopupMenuItemHistoryReferenceContainer.java:55)
	at jdk.nashorn.javaadapters.org_zaproxy_zap_view_popup_PopupMenuItemHistoryReferenceContainer.<init>(Unknown Source)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$2$\^eval\_$cu1$restOf.:program(<eval>:13)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:652)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:517)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:448)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:405)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:401)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:154)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
	at org.zaproxy.zap.extension.script.ExtensionScript.invokeScriptImpl(ExtensionScript.java:1173)
	at org.zaproxy.zap.extension.script.ExtensionScript.invokeScript(ExtensionScript.java:1112)
	at org.zaproxy.zap.extension.script.ExtensionScript.getInterface(ExtensionScript.java:1519)
	at org.zaproxy.zap.extension.scripts.ExtensionScriptsUI.installExtenderScript(ExtensionScriptsUI.java:833)
	at org.zaproxy.zap.extension.scripts.ExtensionScriptsUI.scriptAdded(ExtensionScriptsUI.java:575)
	at org.zaproxy.zap.extension.script.ExtensionScript.addScript(ExtensionScript.java:563)
	at org.zaproxy.zap.extension.script.ExtensionScript.addScript(ExtensionScript.java:552)
	at org.zaproxy.zap.extension.scripts.dialogs.NewScriptDialog.save(NewScriptDialog.java:238)
	at org.zaproxy.zap.view.StandardFieldsDialog.savePressed(StandardFieldsDialog.java:398)
	at org.zaproxy.zap.view.StandardFieldsDialog.access$1(StandardFieldsDialog.java:388)
	at org.zaproxy.zap.view.StandardFieldsDialog$3.actionPerformed(StandardFieldsDialog.java:381)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:269)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343)
	at java.desktop/java.awt.Component.processEvent(Component.java:6343)
	at java.desktop/java.awt.Container.processEvent(Container.java:2259)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
	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.NullPointerException
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getContext(Context.java:1393)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getContextTrusted(Context.java:1303)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.fromClass(Context.java:1419)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getDynamicLinker(Context.java:1315)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.Bootstrap.bootstrap(Bootstrap.java:223)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JavaAdapterServices.bootstrap(JavaAdapterServices.java:206)
	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:324)
	... 69 more

This looks like a JRE issue, similar to:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8164748
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8134304

Member

thc202 commented Nov 9, 2017

There's an issue when using scripts (can be reproduced by using one of the default pop up menu Extender scripts):

ERROR org.zaproxy.zap.ZAP$UncaughtExceptionLogger  - Exception in thread "AWT-EventQueue-0"
java.lang.BootstrapMethodError: call site initialization exception
	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:385)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:250)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:240)
	at jdk.nashorn.javaadapters.org_zaproxy_zap_view_popup_PopupMenuItemHistoryReferenceContainer.isManagingFocus(Unknown Source)
	at java.desktop/javax.swing.JComponent.<init>(JComponent.java:603)
	at java.desktop/javax.swing.AbstractButton.<init>(AbstractButton.java:74)
	at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:145)
	at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:124)
	at org.parosproxy.paros.extension.ExtensionPopupMenuItem.<init>(ExtensionPopupMenuItem.java:73)
	at org.zaproxy.zap.view.popup.ExtensionPopupMenuItemMessageContainer.<init>(ExtensionPopupMenuItemMessageContainer.java:53)
	at org.zaproxy.zap.view.popup.PopupMenuItemHttpMessageContainer.<init>(PopupMenuItemHttpMessageContainer.java:111)
	at org.zaproxy.zap.view.popup.PopupMenuItemHistoryReferenceContainer.<init>(PopupMenuItemHistoryReferenceContainer.java:68)
	at org.zaproxy.zap.view.popup.PopupMenuItemHistoryReferenceContainer.<init>(PopupMenuItemHistoryReferenceContainer.java:55)
	at jdk.nashorn.javaadapters.org_zaproxy_zap_view_popup_PopupMenuItemHistoryReferenceContainer.<init>(Unknown Source)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$2$\^eval\_$cu1$restOf.:program(<eval>:13)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:652)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:517)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:448)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:405)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:401)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:154)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
	at org.zaproxy.zap.extension.script.ExtensionScript.invokeScriptImpl(ExtensionScript.java:1173)
	at org.zaproxy.zap.extension.script.ExtensionScript.invokeScript(ExtensionScript.java:1112)
	at org.zaproxy.zap.extension.script.ExtensionScript.getInterface(ExtensionScript.java:1519)
	at org.zaproxy.zap.extension.scripts.ExtensionScriptsUI.installExtenderScript(ExtensionScriptsUI.java:833)
	at org.zaproxy.zap.extension.scripts.ExtensionScriptsUI.scriptAdded(ExtensionScriptsUI.java:575)
	at org.zaproxy.zap.extension.script.ExtensionScript.addScript(ExtensionScript.java:563)
	at org.zaproxy.zap.extension.script.ExtensionScript.addScript(ExtensionScript.java:552)
	at org.zaproxy.zap.extension.scripts.dialogs.NewScriptDialog.save(NewScriptDialog.java:238)
	at org.zaproxy.zap.view.StandardFieldsDialog.savePressed(StandardFieldsDialog.java:398)
	at org.zaproxy.zap.view.StandardFieldsDialog.access$1(StandardFieldsDialog.java:388)
	at org.zaproxy.zap.view.StandardFieldsDialog$3.actionPerformed(StandardFieldsDialog.java:381)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:269)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343)
	at java.desktop/java.awt.Component.processEvent(Component.java:6343)
	at java.desktop/java.awt.Container.processEvent(Container.java:2259)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
	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.NullPointerException
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getContext(Context.java:1393)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getContextTrusted(Context.java:1303)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.fromClass(Context.java:1419)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.getDynamicLinker(Context.java:1315)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.Bootstrap.bootstrap(Bootstrap.java:223)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JavaAdapterServices.bootstrap(JavaAdapterServices.java:206)
	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:324)
	... 69 more

This looks like a JRE issue, similar to:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8164748
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8134304

@thc202 thc202 added the tracker label Nov 11, 2017

@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202

thc202 Nov 13, 2017

Member

A bug report was submitted for the above issue (#2602 (comment)), it's in review process.

Member

thc202 commented Nov 13, 2017

A bug report was submitted for the above issue (#2602 (comment)), it's in review process.

@thc202

This comment has been minimized.

Show comment
Hide comment
@thc202
Member

thc202 commented Nov 14, 2017

thc202 added a commit to thc202/zap-extensions that referenced this issue Dec 9, 2017

Add Java 9 to Travis CI builds
Change .travis.yml to also run the build with Java 9.

Part of zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Feb 9, 2018

Address deprecation in driver/cert related classes
Change DriverConfiguration to use ChangeListener to notify of state
changes, instead of implementing the Observable interface.
Change DriverTableModel and OptionsCertificatePanel to no longer
implement Observer interface, instead listen for changes.
The interfaces Observer and Observable are deprecated in Java 9.

Part of zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Feb 9, 2018

Address deprecation in driver/cert related classes
Change DriverConfiguration to use ChangeListener to notify of state
changes, instead of extending the Observable class.
Change DriverTableModel and OptionsCertificatePanel to no longer
implement Observer interface, instead listen for changes.
The Observer interface and Observable class are deprecated in Java 9.

Part of zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Feb 13, 2018

Address deprecation in HighlighterManager class
Change HighlighterManager to use listener/event to notify of highlight
changes, instead of extending the Observable class.
Change HttpPanelTextArea and HttpPanelSyntaxHighlightTextArea to no
longer implement Observer interface, instead listen for changes.
The Observer interface and Observable class are deprecated in Java 9.

Part of zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Jun 12, 2018

Stop relying on ClassLoaderUtil
Deprecate ClassLoaderUtil and stop using it throughout the codebase. The
class expects a URLClassLoader as system class loader which is no longer
the case with newer Java (9+) versions (the class was already a no-op in
those cases and others like Webswing that also uses a different system
class loader).
Obviously, this change will break applications/configurations relying on
that behaviour, those applications need to be updated to include the
required resources in the classpath (e.g. Messages.properties file under
the lang dir and libraries under the lib dir).

Related to zaproxy#2602 - Java 9

thc202 added a commit to thc202/zaproxy that referenced this issue Jul 2, 2018

Fix XML configuration's indentation with Java 9+
Change ZapXmlConfiguration to force the creation of new nodes after
loading the configuration, to ensure just the configuration nodes are
persisted when saved (i.e. without any text nodes that would be indented
again).
Add tests to assert the expected behaviour.

Part of zaproxy#2602.
Fix zaproxy#4194 - Size of the configuration file keeps increasing each time
ZAP is started with Java 9+

thc202 added a commit to thc202/zap-extensions that referenced this issue Jul 11, 2018

Add Java 9 to Travis CI builds
Change .travis.yml to also run the build with Java 9.
Change build.xml file to include a Messages.properties file on the
classpath as it's required by core.

Part of zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zap-extensions that referenced this issue Jul 12, 2018

Add Java 9 to Travis CI builds (beta)
Change .travis.yml to also run the build with Java 9.
Change build.xml file to include a Messages.properties file on the
classpath as it's required by core.
Disable SourceCodeDisclosureWEBINFUnitTest on Java 9+ because of an
issue in the used library (i.e. zaproxy/zaproxy#4038).

Part of zaproxy/zaproxy#2602 - Java 9

thc202 added a commit to thc202/zap-extensions that referenced this issue Jul 12, 2018

Add Java 9 to Travis CI builds (alpha)
Change .travis.yml to also run the build with Java 9.
Change build.xml file to include a Messages.properties file on the
classpath as it's required by core, also, include add-ons in test
classpath to include helper class (SystemUtils, from commons-lang3).
Disable SOAPActionSpoofingActiveScannerTestCase on Java 9+ because of
class used (i.e. zaproxy/zaproxy#4037).

Part of zaproxy/zaproxy#2602 - Java 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment