After JDK has been updated to 1.8, atlassian-sdk to 5.0.3, stash to 3.1.0 (simultaneously) I couldn't run my plugin.
[INFO] [talledLocalContainer] 2014-06-25 13:02:56,102 WARN [localhost-startStop-1] c.a.p.o.f.t.s.ScanDescriptorForHostClassesStage The plugin 'atlassian-universal-plugin-manager-plugin-2.16.5.jar' uses a package 'org.apache.commons.fileupload.servlet' that is also exported by the application. It is highly recommended that the plugin use its own packages. [INFO] [talledLocalContainer] 2014-06-25 13:03:01,900 ERROR [localhost-startStop-1] c.a.p.loaders.ScanningPluginLoader Unable to deploy plugin 'MY-PLUGIN' from 'Unit: /PATH'. [INFO] [talledLocalContainer] 2014-06-25 13:03:01,908 ERROR [localhost-startStop-1] c.a.p.loaders.ScanningPluginLoader Because of the following exception:
>>>> [INFO] [talledLocalContainer] com.atlassian.plugin.PluginParseException: Unable to scan for host components in plugin classes
[INFO] [talledLocalContainer] at com.atlassian.plugin.osgi.factory.transform.stage.HostComponentSpringStage.execute(HostComponentSpringStage.java:62) ~[atlassian-plugins-osgi-3.0.22.jar:na] [INFO] [talledLocalContainer] at com.atlassian.plugin.loaders.ScanningPluginLoader.deployPluginFromUnit(ScanningPluginLoader.java:155) [atlassian-plugins-core-3.0.22.jar:na] [INFO] [talledLocalContainer] at com.atlassian.plugin.loaders.ScanningPluginLoader.loadAllPlugins(ScanningPluginLoader.java:89) [atlassian-plugins-core-3.0.22.jar:na] [INFO] [talledLocalContainer] at com.atlassian.plugin.loaders.PermissionCheckingPluginLoader.loadAllPlugins(PermissionCheckingPluginLoader.java:24) [atlassian-plugins-core-3.0.22.jar:na] [INFO] [talledLocalContainer] at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:251) [atlassian-plugins-core-3.0.22.jar:na] [INFO] [talledLocalContainer] at com.atlassian.stash.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:45) [stash-platform-3.1.0.jar:na] [INFO] [talledLocalContainer] at com.atlassian.stash.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:16) [stash-platform-3.1.0.jar:na] [INFO] [talledLocalContainer] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98) [spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:333) [spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:776) [spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:485) [spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE] [INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_05] [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_05] [INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_05] [INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05] [INFO] [talledLocalContainer] ... 13 frames trimmed [INFO] [talledLocalContainer] Caused by: java.io.IOException: Error parsing class file [INFO] [talledLocalContainer] at com.atlassian.plugin.osgi.util.ClassBinaryScanner.scanClassBinary(ClassBinaryScanner.java:66) ~[atlassian-plugins-osgi-3.0.22.jar:na] [INFO] [talledLocalContainer] ... 18 common frames omitted [INFO] [talledLocalContainer] Caused by: java.lang.ArrayIndexOutOfBoundsException: 18 [INFO] [talledLocalContainer] at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:448) ~[bndlib-1.43.0-atlassian-1.jar:na] [INFO] [talledLocalContainer] at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:369) ~[bndlib-1.43.0-atlassian-1.jar:na] [INFO] [talledLocalContainer] at aQute.lib.osgi.Clazz.parseClassFileWithCollector(Clazz.java:359) ~[bndlib-1.43.0-atlassian-1.jar:na] [INFO] [talledLocalContainer] ... 18 common frames omitted
How could I manage it?
Community moderators have prevented the ability to post new answers.
Not sure if this helps but just in case:
Bernard Jaquet (here) suggested in the comment, lambda expressions might be the cause for this, at least it was for me. After removing them from my code (that is, replacing with old-school java code), I was able to successfully upload the new version compiled on java 8.
Stash 3.0+ is compatible with a JRE 8 runtime. However if you try to compile your plugin with a java 8 language level, you will run into the problem you are experiencing. I've raised PLUG-1098 in order to address this. In the meantime you should use a java 7 language level when compiling your plugin. Its worth noting that you can use JDK8 to compile java 7 language level classes which will safely on JRE 7 and JRE 8
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot. I hope it fixed soon, because java 8 is so tasty!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey, looks like PLUG-1098 is resolved but I still get exactly this symptom with JIRA 6.4.4? I don't have permission to see the details of the PLUGDEV-128 JDK 8 epic, is there any update on when this might be resolved? It's killing me not to have lambdas.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I second Luke.. can't include java 1.8 in my stash plugin config.. want to use java 8 features!! Any update on this??
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
found an open issue: https://jira.atlassian.com/browse/STASH-4903 to support JRE8 compilation of code.. I hope they fix this soon..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.