Different JDK versions between team members

2
I have recently started a project in modeler 3.1.1 and comitted it to the team server. When a colleague wants to doanload the project from the team server and tries to start the application in his local modeler, he gets a java runtime error at server startup. Could this have been caused by the fact that I have created the project with JDK 6u22 and he tries to run it under JDK 6u27? PS. We both use the same modeler version. The error reads: com.mendix.m2ee.api.AdminException: JVM Error! at com.mendix.m2ee.server.handler.HttpAdminHandler.handle(HttpAdminHandler.java:144) Caused by: java.lang.UnsupportedClassVersionError: mxmodelreflection/actions/ReplaceToken : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at fv.<init>(SourceFile:78) at com.mendix.core.MxRuntime.z(SourceFile:255) at com.mendix.core.MxRuntime.y(SourceFile:233) at com.mendix.core.MxRuntime.a(SourceFile:215) at com.mendix.core.MxRuntime.b(SourceFile:168) at fD.execute(SourceFile:54) at com.mendix.m2ee.server.handler.HttpAdminHandler.handle(HttpAdminHandler.java:121) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:550) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:662)
asked
1 answers
4

The .class files (compiled Java) should not be under version control. The 'deployment' directory is ignored by the Modeler so that it is not uploaded. This means that everyone compiles the Java code themselves and there should be not incompatibility between JDK versions.

Did the deployment directory accidentally get added to version control? You can test this by adding a Java action, deploying and committing. If the file changes include a new .class file for the Java action, the deployment directory is under version control.

To fix this, you need TortoiseSVN 1.6 (!). Right-click the deployment directory and choose TortoiseSVN > Delete and add to ignore list > deployment.

Hope this helps.

answered