Improving the OpenMRS Developer Experience: Updating the SDK with more beautiful features

Hi ! I am Prateek. I am very much excited to work on updating the SDK. Since setting up the whole thing in local environment depends on several factors like the version of Java and Maven. Recently I have installed the JAVA and MAVEN on my MAC M1. Please verify if I am getting the right output or not. @dkayiwa @ibacher @kdaud

2 Likes

Yes you are on the right way @theprateek

Thanks @rishabhdixit1

1 Like

I have started creating a server to run the OpenMRS. Here I want to know what to put in those 3 section in Terminal.

@dkayiwa @ibacher @kdaud please help in this section.

So 1 is an optional setting. If you want to connect a JVM running in debug mode to the instance, fill in a port number (IIRC 8000 is the standard port for this, but 1044 as suggested by the text also works).

If you got to prompt 2, you said you MySQL installed. If your MySQL instance is running on port 3306, you can just accept the default. Otherwise, that needs to match whatever port your MySQL instance is.

Again, for 3, when you setup your MySQL instance, you should have a user with the ability to create databases. You need to enter the user name and password for that user. This was something determined when you installed MySQL either locally or via Docker (it may be a random password, in which case, you’ll need to set it to something known by logging into your MySQL instance).

2 Likes

Thank you so much for the reply. I will try all those commands and update with you.

@ibacher after completing the process you suggested I got this output.

can you review it?

Unfortunately, I don think that the server will be able to start on JDK 19, which you’ve selected as the default. 2.5.x should support up to JDK 11.

so should I select 2) other…?

Yes. It’s then going to prompt you for the path to that JDK.

ok I will be trying this now.

Now I have put my JAVA_HOME path. Can you please review the output?

I want to add some more information to the documentation of creating server. That’s why I want to make sure what we should put in those sections. You are requested to help. Since more information regarding creating the server will help other contributors to setup the server more faster.

I put 1 in first section and also 1 in second section.

2.

Generally on a Mac, I’d expect the JDK to be in /Library/Java/JavaVirtualMachines. Usually the JavaApppletPlugin points to a JVM.

The problem here is that there’s no single answer to these questions that’s correct. It depends on what you are trying to do. If you want to install a server with a UI, you should generally use a distribution. However, if you want to work on the platform, you install that. The version of the distribution or platform you select also depends on your requirements.

Basically, the principle here is that we give the user choices where there are choices to be made; documenting the “right” answer doesn’t really work in these situations (similarly, selecting the JDK depends heavily on your environment. If you ran Maven with a version of JDK 8 or JDK 11, you can just select option 1; which JDK to choose and where that’s installed on your computer is configuration-specific). If there were right answers to these prompts, they’d just be defaults or unasked.

Thank you for your kind reply. Here to find the Path of JDK 8 I have run this command in my mac m1.

command:

/usr/libexec/java_home -v 1.8

And I am getting this output.

What’s the output of:

/usr/libexec/java_home -V

That’s the output :

So you don’t have a version of the 1.8 JDK installed at all? (JDK as opposed to JRE) What happens if you try /usr/libexec/java_home -v 1.8 --exec javac -version?

so if I put java-version output:

and If I put mvn -v

output:

if I put

/usr/libexec/java_home -v 1.8 --exec javac -version

output:

if I put javac -version

output:

Can you install a version of JDK 8 on your computer, then? (Using homebrew, f/e brew install --cask temurin8).