https://github.com/oldratlee/scala-maven-template-prj
scala maven template project
https://github.com/oldratlee/scala-maven-template-prj
maven maven-template-project scala scala-maven
Last synced: about 2 months ago
JSON representation
scala maven template project
- Host: GitHub
- URL: https://github.com/oldratlee/scala-maven-template-prj
- Owner: oldratlee
- License: apache-2.0
- Created: 2016-12-13T03:45:50.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-09-30T17:23:06.000Z (over 2 years ago)
- Last Synced: 2025-04-10T00:15:30.440Z (about 2 months ago)
- Topics: maven, maven-template-project, scala, scala-maven
- Language: Scala
- Homepage:
- Size: 136 KB
- Stars: 7
- Watchers: 3
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
scala-maven-template-prj
================================:point_right: Scala maven project skeleton and simple show case of common scala ecosystem libs.
## Scala maven project skeleton
1. joint-compile configuration for scala and java
1. logging lib configuration: scala use scala-logging, java use slf4j
1. test libs configuration: scalatest/Spec2/scalacheck/JUnit
1. mock libs configuration: mockito/scalamock## Simple show case
1. poso(Plain Old Scala Object)/pojo class (use **between** languages)
- poso: [Employee](core/src/main/scala/com/oldratlee/scala/hello/Models.scala)
- pojo: [Company](core/src/main/java/com/oldratlee/java/hello/Company.java)
1. scala/java hello world main class (invoke **between** languages)
- scala: [ScalaMain](core/src/main/scala/com/oldratlee/scala/hello/ScalaMain.scala)
- java: [JavaMain](core/src/main/java/com/oldratlee/java/hello/JavaMain.java)
1. scala/java class implements java interface(compatibility safer)
- scala: [ScalaHelloWorld](core/src/main/scala/com/oldratlee/scala/hello/ScalaHelloWorld.scala)
- java: [JavaHelloWorld](core/src/main/java/com/oldratlee/java/hello/JavaHelloWorld.java)
1. Logging
- scala: [ScalaLogDemo](core/src/test/scala/showcase/log/ScalaLogDemo.scala)
- java: [JavaLogDemo](core/src/test/java/showcase/log/JavaLogDemo.java)
1. Spec2/scalatest/scalacheck/JUnit test by scala/java
- scala:
- Spec2: [Spec2_HelloWorld_Test](core/src/test/scala/showcase/testing/specs2/Spec2_HelloWorld_Test.scala)
- scalatest: **_TODO_**
- scalacheck: [BasicScalaCheckPropertiesTest](core/src/test/scala/showcase/testing/scalacheck/BasicScalaCheckPropertiesTest.scala)
This is a scalacheck standalone test, so `mvn test` can not recognize it, but `IDEA` can.
More practical usage should integrate scalacheck with `scalatest` or `Spec2`, so can be recognized by `maven test`. **_TODO_**
- JUnit: [Hello_Junit4ByScala_Test](core/src/test/scala/showcase/testing/junit/Hello_Junit4ByScala_Test.scala)
- java:
- JUnit
- [Hello_Junit4ByJava_Test](core/src/test/java/showcase/testing/junit/Hello_Junit4ByJava_Test.java)
- [Hello_Junit3ByJava_Test](core/src/test/java/showcase/testing/junit/Hello_Junit3ByJava_Test.java)