--- tags: mPOS, API, development --- # mPOS API Server Development Environment (Java 11, Tomee, EclipseEE) ## Downloads / Installation ### Required - Eclipse EE ([https://www.eclipse.org/downloads/packages/](https://www.eclipse.org/downloads/packages/)) - JDK 11 - OpenJDK 11 ([https://jdk.java.net/java-se-ri/11](https://jdk.java.net/java-se-ri/11)) , Or - AdoptOpenJDK ([https://adoptopenjdk.net/](https://adoptopenjdk.net/)) **RECOMMENDED** - Tomcat v9.0 [Tomee 8.0.1 plus] ([http://tomee.apache.org/download-archive.html](http://tomee.apache.org/download-archive.html)) - Oracle JDBC 6-11.2.0.4 ([https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4)) ### Optional - org.eclipse.paho.client.mqttv3-1.2.4 ([https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3/1.2.4](https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3/1.2.4)) ## Setup Development Environment <!-- ![](https://i.imgur.com/laVqT5b.png) --> 1. Clone mPOS project repo ```bash git clone http://172.16.9.53:80/IT_MPOS/mPOS.git ``` <!-- ```bash git clone [http://172.16.9.53:80/IT_MPOS/mPOS.git](http://172.16.9.53:80/IT_MPOS/mPOS.git) ``` --> 2. Open eclipse - Workspace: `<repo>/BackEnd/` 3. File → Open Projects from File System ![](https://i.imgur.com/f9cFp5y.png) :::info - Make sure source folder is `mPOS/src` and output folder is `mPOS/build` ![](https://i.imgur.com/YBLEJkJ.png) :::warning - if source folder invalid, remove and then re-add folder ![](https://i.imgur.com/bMRPMFS.png) ::: 4. File → New → Other → Server → Server ![](https://i.imgur.com/WV7Gd1y.png) 5. Select `Tomcat v9.0 Server`, Change Server Name ![](https://i.imgur.com/FHxAazT.png) 6. Select Tomcat/Tomee Server Directory ![](https://i.imgur.com/T9aWjCz.png) 7. Configure Project Facets ![](https://i.imgur.com/xQcZ4dr.png) 8. Create custom library (Name: TK3C_MPOS_LIB) ![](https://i.imgur.com/TukxKr2.png) 9. Add required JARs (jdbc driver, mqtt client) ![](https://i.imgur.com/A8nAhaq.png) ![](https://i.imgur.com/gv0FiOj.png) 10. Right-click project root (mPOS) → Build Path → Configure Build Path... ![](https://i.imgur.com/SP7MDuo.png) 11. If not added, add required libraries to Classpath: `EAR Libraries, Server Runtime, Web App Libraries, JRE System Library` ![](https://i.imgur.com/as6bfy8.png) 12. Add TK3C_MPOS_LIB to Classpath ![](https://i.imgur.com/XRjn7O1.png) ![](https://i.imgur.com/f8L9Hy4.png) 13. Final Classpath setting ![](https://i.imgur.com/ahGWL0R.png) 14. Double click server (open server setting) → Open launch configuration ![](https://i.imgur.com/44Z1XUY.png) ![](https://i.imgur.com/m2tA1cc.png) 15. Add **jdbc driver** to server launch configuration ![](https://i.imgur.com/ntQOFYf.png) 16. Add Datasource to Server config `context.xml` ```xml <Resource name="jdbc/SCDB" type="javax.sql.DataSource" url="jdbc:oracle:thin:@10.253.2.250:1521:XE" driverClassName="oracle.jdbc.OracleDriver" username="..." password="..." auth="Container"/> ``` ![](https://i.imgur.com/VwyNsra.png) 17. Set/Check Deployment Assembly ![](https://i.imgur.com/U8sjd9O.png) ![](https://i.imgur.com/EscHwMD.png) 18. Add resource to server ![](https://i.imgur.com/OoSrbE9.png) ![](https://i.imgur.com/t6vIgVQ.png) 20. Start server ![](https://i.imgur.com/re1QF5Z.png)