diff --git a/maven/pom.xml b/maven/pom.xml
index a24b6b16bd..4bec533226 100644
--- a/maven/pom.xml
+++ b/maven/pom.xml
@@ -1,151 +1,303 @@
- 4.0.0
- com.baeldung
- maven
- 0.0.1-SNAPSHOT
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+ com.baeldung
+ maven
+ 0.0.1-SNAPSHOT
+ war
-
- parent-modules
- com.baeldung
- 1.0.0-SNAPSHOT
-
+
+
+ org.glassfish.jersey.containers
+ jersey-container-servlet-core
+ ${jersey.version}
+
+
+ org.glassfish.jersey.inject
+ jersey-hk2
+ ${jersey.version}
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
-
-
-
- maven-resources-plugin
- ${maven.resources.version}
-
- output-resources
-
-
- input-resources
-
- *.png
-
- true
-
-
-
-
-
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- ${java.version}
- ${java.version}
-
- -Xlint:unchecked
-
-
-
-
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- DataTest.java
-
-
- TestFail.java
- DataCheck.java
-
- true
-
-
-
- maven-failsafe-plugin
- ${maven.failsafe.version}
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
-
- maven-verifier-plugin
- ${maven.verifier.version}
-
- input-resources/verifications.xml
-
-
-
-
- verify
-
-
-
-
-
- maven-clean-plugin
- ${maven.clean.version}
-
-
-
- output-resources
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- ${maven.build.helper.version}
-
-
- generate-sources
-
- add-source
-
-
-
- src/main/another-src
-
-
-
-
-
-
-
+
+
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ ${jetty.version}
+
+
+ 8999
+
+ quit
+ 9000
+
+
+
+ start-jetty
+ pre-integration-test
+
+ start
+
+
+
+ stop-jetty
+ post-integration-test
+
+ stop
+
+
+
+
+
+ maven-resources-plugin
+ ${maven.resources.version}
+
+ output-resources
+
+
+ input-resources
+
+ *.png
+
+ true
+
+
+
+
+
+ maven-compiler-plugin
+ ${maven.compiler.version}
+
+ ${java.version}
+ ${java.version}
+
+ -Xlint:unchecked
+
+
+
+
+ maven-surefire-plugin
+ ${maven.surefire.version}
+
+
+ DataTest.java
+ **/*IntegrationTest
+
+ com.baeldung.maven.it.Integration
+
+ TestFail.java
+ DataCheck.java
+
+ true
+
+
+
+ maven-failsafe-plugin
+ ${maven.failsafe.version}
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+
+
+
+ maven-verifier-plugin
+ ${maven.verifier.version}
+
+ input-resources/verifications.xml
+
+
+
+
+ verify
+
+
+
+
+
+ maven-clean-plugin
+ ${maven.clean.version}
+
+
+
+ output-resources
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ ${maven.build.helper.version}
+
+
+ generate-sources
+
+ add-source
+
+
+
+ src/main/another-src
+
+
+
+
+ add-integration-test-source
+ generate-test-sources
+
+ add-test-source
+
+
+
+ src/integration-test/java
+
+
+
+
+ add-integration-test-resource
+ generate-test-resources
+
+ add-test-resource
+
+
+
+
+ src/integration-test/resources
+
+
+
+
+
+
+
+
-
-
- default
-
-
-
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- DataTest.java
-
-
- TestFail.java
- DataCheck.java
-
- true
-
-
-
-
-
-
-
-
- 3.0.2
- 2.21.0
- 1.1
- 3.0.0
- 3.0.0
- Baeldung
-
+
+
+ default
+
+
+
+ maven-surefire-plugin
+ ${maven.surefire.version}
+
+
+ DataTest.java
+
+
+ TestFail.java
+ DataCheck.java
+
+ true
+
+
+
+
+
+
+ failsafe
+
+
+
+ maven-failsafe-plugin
+ ${maven.failsafe.version}
+
+
+ **/*RestIT
+ **/RestITCase
+
+
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+
+
+
+ surefire
+
+
+
+ maven-surefire-plugin
+ ${maven.surefire.version}
+
+
+ integration-test
+
+ test
+
+
+
+ none
+
+
+ **/*IntegrationTest
+
+
+
+
+
+
+
+
+
+ category
+
+
+
+ maven-failsafe-plugin
+ ${maven.failsafe.version}
+
+
+ **/*
+
+ com.baeldung.maven.it.Integration
+
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+
+
+
+
+ 1.8
+ 3.0.2
+ 3.8.0
+ 2.22.0
+ 2.22.0
+ 1.1
+ 3.0.0
+ 3.0.0
+ Baeldung
+ 9.4.11.v20180605
+ 2.27
+ 4.12
+
\ No newline at end of file
diff --git a/maven/src/integration-test/java/com/baeldung/maven/it/RestITCase.java b/maven/src/integration-test/java/com/baeldung/maven/it/RestITCase.java
new file mode 100644
index 0000000000..aaeeedb661
--- /dev/null
+++ b/maven/src/integration-test/java/com/baeldung/maven/it/RestITCase.java
@@ -0,0 +1,24 @@
+package com.baeldung.maven.it;
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Scanner;
+
+import static org.junit.Assert.assertEquals;
+
+public class RestITCase {
+ @Test
+ public void whenSendingGet_thenMessageIsReturned() throws IOException {
+ String url = "http://localhost:8999";
+ URLConnection connection = new URL(url).openConnection();
+ try (InputStream response = connection.getInputStream();
+ Scanner scanner = new Scanner(response)) {
+ String responseBody = scanner.nextLine();
+ assertEquals("Welcome to Baeldung!", responseBody);
+ }
+ }
+}
diff --git a/maven/src/main/java/com/baeldung/maven/it/EndpointConfig.java b/maven/src/main/java/com/baeldung/maven/it/EndpointConfig.java
new file mode 100644
index 0000000000..919210ccff
--- /dev/null
+++ b/maven/src/main/java/com/baeldung/maven/it/EndpointConfig.java
@@ -0,0 +1,9 @@
+package com.baeldung.maven.it;
+
+import org.glassfish.jersey.server.ResourceConfig;
+
+public class EndpointConfig extends ResourceConfig {
+ public EndpointConfig() {
+ register(RestEndpoint.class);
+ }
+}
diff --git a/maven/src/main/java/com/baeldung/maven/it/RestEndpoint.java b/maven/src/main/java/com/baeldung/maven/it/RestEndpoint.java
new file mode 100644
index 0000000000..c234891865
--- /dev/null
+++ b/maven/src/main/java/com/baeldung/maven/it/RestEndpoint.java
@@ -0,0 +1,12 @@
+package com.baeldung.maven.it;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+
+@Path("/")
+public class RestEndpoint {
+ @GET
+ public String hello() {
+ return "Welcome to Baeldung!";
+ }
+}
diff --git a/maven/src/main/webapp/WEB-INF/web.xml b/maven/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..1751ad17a5
--- /dev/null
+++ b/maven/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+
+
+ rest-servlet
+ org.glassfish.jersey.servlet.ServletContainer
+
+ javax.ws.rs.Application
+ com.baeldung.maven.it.EndpointConfig
+
+
+
+ rest-servlet
+ /*
+
+
\ No newline at end of file
diff --git a/maven/src/test/java/com/baeldung/maven/it/Integration.java b/maven/src/test/java/com/baeldung/maven/it/Integration.java
new file mode 100644
index 0000000000..112ce178ce
--- /dev/null
+++ b/maven/src/test/java/com/baeldung/maven/it/Integration.java
@@ -0,0 +1,4 @@
+package com.baeldung.maven.it;
+
+public interface Integration {
+}
diff --git a/maven/src/test/java/com/baeldung/maven/it/RestIT.java b/maven/src/test/java/com/baeldung/maven/it/RestIT.java
new file mode 100644
index 0000000000..0115d34f1e
--- /dev/null
+++ b/maven/src/test/java/com/baeldung/maven/it/RestIT.java
@@ -0,0 +1,24 @@
+package com.baeldung.maven.it;
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Scanner;
+
+import static org.junit.Assert.assertEquals;
+
+public class RestIT {
+ @Test
+ public void whenSendingGet_thenMessageIsReturned() throws IOException {
+ String url = "http://localhost:8999";
+ URLConnection connection = new URL(url).openConnection();
+ try (InputStream response = connection.getInputStream();
+ Scanner scanner = new Scanner(response)) {
+ String responseBody = scanner.nextLine();
+ assertEquals("Welcome to Baeldung!", responseBody);
+ }
+ }
+}
diff --git a/maven/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java b/maven/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java
new file mode 100644
index 0000000000..2f913c8429
--- /dev/null
+++ b/maven/src/test/java/com/baeldung/maven/it/RestIntegrationTest.java
@@ -0,0 +1,24 @@
+package com.baeldung.maven.it;
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Scanner;
+
+import static org.junit.Assert.assertEquals;
+
+public class RestIntegrationTest {
+ @Test
+ public void whenSendingGet_thenMessageIsReturned() throws IOException {
+ String url = "http://localhost:8999";
+ URLConnection connection = new URL(url).openConnection();
+ try (InputStream response = connection.getInputStream();
+ Scanner scanner = new Scanner(response)) {
+ String responseBody = scanner.nextLine();
+ assertEquals("Welcome to Baeldung!", responseBody);
+ }
+ }
+}
diff --git a/maven/src/test/java/com/baeldung/maven/it/RestJUnitTest.java b/maven/src/test/java/com/baeldung/maven/it/RestJUnitTest.java
new file mode 100644
index 0000000000..60995d75bd
--- /dev/null
+++ b/maven/src/test/java/com/baeldung/maven/it/RestJUnitTest.java
@@ -0,0 +1,26 @@
+package com.baeldung.maven.it;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Scanner;
+
+import static org.junit.Assert.assertEquals;
+
+@Category(Integration.class)
+public class RestJUnitTest {
+ @Test
+ public void whenSendingGet_thenMessageIsReturned() throws IOException {
+ String url = "http://localhost:8999";
+ URLConnection connection = new URL(url).openConnection();
+ try (InputStream response = connection.getInputStream();
+ Scanner scanner = new Scanner(response)) {
+ String responseBody = scanner.nextLine();
+ assertEquals("Welcome to Baeldung!", responseBody);
+ }
+ }
+}