Cant run locally after converting from 8.18.1 to 9.1.1 (Java compilation failed)

1
Hello, I opened my project developed in 8.18.1 in Mendix 9.1.1. There were no errors after converting, but I can’t run the project locally due to an error: “Compilation of Java actions failed”. There is a long list of errors, for example: method execute in class Core cannot be applied to given types; [javac] Core.execute(setupContext, testSuite.getModule() + ".Setup", emptyArguments); [javac] ^ [javac] required: T [javac] found: IContext,String,Map<String,Object> [javac] reason: cannot infer type-variable(s) T,R [javac] (actual and formal argument lists differ in length) [javac] where T,R are type-variables: [javac] T extends CoreAction<R> declared in method <T,R>execute(T) [javac] R extends Object declared in method <T,R>execute(T) How can I solve it and convert the project?
asked
4 answers
0

That looks like the UnitTesting module. There is a new version for Mendix 9 on the MarketPlace, so I would suggest upgrading this module and trying again.

Good luck!

answered
0

This error occurs because of some missing Jar files and I was also facing same issue a few days ago, so I suggest you go through in detail of errors and find which jar file you have to add to your project.

 if you found correct jar file first download it from net and put that jarfile in userlib folder of your project folder

answered
0
In my case the issue was resolved by updating the unit test module to the latest version.
\javasource\unittesting\TestManager.java:140: error: method execute in class Core cannot be applied to given types;
    [javac] 					Core.execute(setupContext, testSuite.getModule() + ".Setup", emptyArguments);
    [javac] 					    ^
    [javac]   required: T
    [javac]   found: IContext,String,Map<String,Object>
    [javac]   reason: cannot infer type-variable(s) T,R
    [javac]     (actual and formal argument lists differ in length)
    [javac]   where T,R are type-variables:
    [javac]     T extends CoreAction<R> declared in method <T,R>execute(T)
    [javac]     R extends Object declared in method <T,R>execute(T)

 
answered
0

The root cause of this error is the change how Mendix calls microflows dynamically. Once you upgrade UnitTest module to be MX9 compatible you may discover surprises with other custom Java actions where you dynamically call microflows.

answered