Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Java exception creating new objects in Eclipse 2023-09 and latest ADT

matt
Active Contributor

New install of Eclipse Version: 2023-09 (4.29.0) Build id: 20230907-1323 and ADT 3.36.2. Using JRE SAPMachine 21.

I can create objects in $TMP, but can't create anything in a package. I get the message:

java.lang.reflect.InvocationTargetException

The same error occurs whether normal ABAP project or Cloud.

Log file:

!ENTRY org.eclipse.core.databinding 4 0 2023-10-04 16:50:46.979
!MESSAGE Unhandled exception: java.lang.reflect.InvocationTargetException
!STACK 0
com.sap.adt.compatibility.uritemplate.VariableExpansionException: java.lang.reflect.InvocationTargetException
	at com.sap.adt.compatibility.internal.uritemplate.AdtUriTemplate.expand(AdtUriTemplate.java:33)
	at com.sap.adt.ris.search.internal.RisQuickSearchUriDiscovery.createResourceUriFromTemplate(RisQuickSearchUriDiscovery.java:212)
	at com.sap.adt.ris.search.internal.AdtRepositorySearchService.getURIFromSearchParameters(AdtRepositorySearchService.java:111)
	at com.sap.adt.ris.search.internal.AdtRepositorySearchService.search(AdtRepositorySearchService.java:54)
	at com.sap.adt.ris.search.internal.RisQuickSearch$RisQuickSearchContentProvider.getObjectReferences(RisQuickSearch.java:106)
	at com.sap.adt.ris.search.internal.RisQuickSearch.execute(RisQuickSearch.java:75)
	at com.sap.adt.tools.core.ui.internal.packages.PackageCommonManager.find(PackageCommonManager.java:32)
	at com.sap.adt.tools.core.ui.internal.packages.PackageCommonManager.packageExists(PackageCommonManager.java:55)
	at com.sap.adt.tools.core.ui.internal.packages.PackageServiceUI.packageExists(PackageServiceUI.java:66)
	at com.sap.adt.tools.core.ui.internal.packages.PackageNameBackendValidator.validate(PackageNameBackendValidator.java:44)
	at com.sap.adt.tools.core.ui.internal.packages.PackageNameBackendValidator.validate(PackageNameBackendValidator.java:1)
	at com.sap.adt.tools.core.ui.wizards.NewAdtObjectWizard.validatePropertiesPage(NewAdtObjectWizard.java:760)
	at com.sap.adt.oo.ui.classes.wizards.AbstractNewClassWizard.access$2(AbstractNewClassWizard.java:1)
	at com.sap.adt.oo.ui.classes.wizards.AbstractNewClassWizard$AdtClassWizardDelegate.validate(AbstractNewClassWizard.java:215)
	at com.sap.adt.oo.ui.classes.wizards.AbstractNewClassWizard.validatePropertiesPage(AbstractNewClassWizard.java:89)
	at com.sap.adt.oo.ui.classes.wizards.AbstractNewClassWizard.validatePropertiesPage(AbstractNewClassWizard.java:1)
	at com.sap.adt.tools.core.ui.wizards.NewAdtObjectWizard$9.run(NewAdtObjectWizard.java:1580)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: com.damnhandy.uri.template.impl.VariableExpansionException: java.lang.reflect.InvocationTargetException
	at com.damnhandy.uri.template.DefaultVarExploder.getValue(DefaultVarExploder.java:204)
	at com.damnhandy.uri.template.DefaultVarExploder.initValues(DefaultVarExploder.java:127)
	at com.damnhandy.uri.template.DefaultVarExploder.setSource(DefaultVarExploder.java:98)
	at com.damnhandy.uri.template.DefaultVarExploder.<init>(DefaultVarExploder.java:80)
	at com.damnhandy.uri.template.impl.VarExploderFactory.getExploder(VarExploderFactory.java:41)
	at com.damnhandy.uri.template.impl.RFC6570UriTemplate.expandVariables(RFC6570UriTemplate.java:175)
	at com.damnhandy.uri.template.impl.RFC6570UriTemplate.findExpressions(RFC6570UriTemplate.java:100)
	at com.damnhandy.uri.template.impl.RFC6570UriTemplate.buildVarSpecs(RFC6570UriTemplate.java:527)
	at com.damnhandy.uri.template.impl.RFC6570UriTemplate.expand(RFC6570UriTemplate.java:78)
	at com.sap.adt.compatibility.internal.uritemplate.AdtUriTemplate.expand(AdtUriTemplate.java:29)
	... 17 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at com.damnhandy.uri.template.DefaultVarExploder.getValue(DefaultVarExploder.java:192)
	... 26 more
Caused by: java.util.NoSuchElementException
	at java.base/java.util.ArrayList.getFirst(ArrayList.java:439)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	... 28 more
2 REPLIES 2

matt
Active Contributor
0 Kudos

Just did new install of 2023-06 with latest ADT and latest SAP Machine... same problem.

Tomorrow I'll try to revert the SAP Machine.

matt
Active Contributor

With 2023-09, latest ADT and SAP Machine 17 - it worked. I've reported the issue on the SAP Machine github.

Update: But it seems most likely it's an ADT incompatibility, somewhere in the bit that prompts for a transport, since $TMP works.

Final response from SAP Machine Github.

The problem is within ADT (more precisely: within the URI template library dependency used by ADT).

We are working on this.

Until this is resolved, ADT cannot be used with JDK 21.