Refactored code
This commit is contained in:
		
							parent
							
								
									c5777c892c
								
							
						
					
					
						commit
						33c7dd6b63
					
				| @ -1,48 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |  | ||||||
| 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |  | ||||||
| 	<modelVersion>4.0.0</modelVersion> |  | ||||||
| 	<parent> |  | ||||||
| 		<groupId>org.springframework.boot</groupId> |  | ||||||
| 		<artifactId>spring-boot-starter-parent</artifactId> |  | ||||||
| 		<version>2.5.3</version> |  | ||||||
| 		<relativePath/> <!-- lookup parent from repository --> |  | ||||||
| 	</parent> |  | ||||||
| 	<groupId>com.baeldung</groupId> |  | ||||||
| 	<artifactId>hexagon</artifactId> |  | ||||||
| 	<version>0.0.1-SNAPSHOT</version> |  | ||||||
| 	<name>hexagon</name> |  | ||||||
| 	<description>Spring Boot for demonstrate hexagonal architecture</description> |  | ||||||
| 	<properties> |  | ||||||
| 		<java.version>11</java.version> |  | ||||||
| 	</properties> |  | ||||||
| 	<dependencies> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-web</artifactId> |  | ||||||
| 		</dependency> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-test</artifactId> |  | ||||||
| 			<scope>test</scope> |  | ||||||
| 		</dependency> |  | ||||||
| 	</dependencies> |  | ||||||
| 
 |  | ||||||
| 	<build> |  | ||||||
| 		<plugins> |  | ||||||
| 			<plugin> |  | ||||||
| 				<groupId>org.springframework.boot</groupId> |  | ||||||
| 				<artifactId>spring-boot-maven-plugin</artifactId> |  | ||||||
| 				<configuration> |  | ||||||
| 					<excludes> |  | ||||||
| 						<exclude> |  | ||||||
| 							<groupId>org.projectlombok</groupId> |  | ||||||
| 							<artifactId>lombok</artifactId> |  | ||||||
| 						</exclude> |  | ||||||
| 					</excludes> |  | ||||||
| 				</configuration> |  | ||||||
| 			</plugin> |  | ||||||
| 		</plugins> |  | ||||||
| 	</build> |  | ||||||
| 
 |  | ||||||
| </project> |  | ||||||
| @ -1,13 +0,0 @@ | |||||||
| package com.baeldung.hexagon; |  | ||||||
| 
 |  | ||||||
| import org.springframework.boot.SpringApplication; |  | ||||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; |  | ||||||
| 
 |  | ||||||
| @SpringBootApplication |  | ||||||
| public class HexagonApplication { |  | ||||||
| 
 |  | ||||||
| 	public static void main(String[] args) { |  | ||||||
| 		SpringApplication.run(HexagonApplication.class, args); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| @ -1,32 +0,0 @@ | |||||||
| package com.baeldung.hexagon.adaptor.primary; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| import com.baeldung.hexagon.port.inbound.BurgerService; |  | ||||||
| import com.baeldung.hexagon.ui.BurgerRestController; |  | ||||||
| import org.springframework.beans.factory.annotation.Autowired; |  | ||||||
| import org.springframework.web.bind.annotation.*; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| @RestController |  | ||||||
| @RequestMapping("/burger") |  | ||||||
| public class BurgerRestControllerImpl implements BurgerRestController { |  | ||||||
| 
 |  | ||||||
|     @Autowired |  | ||||||
|     private BurgerService burgerService; |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public void createBurger(@RequestBody Burger burger) { |  | ||||||
|         burgerService.createBurger(burger); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public Burger findByName(@PathVariable String name) { |  | ||||||
|         return burgerService.findByName(name); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public List<Burger> findAll() { |  | ||||||
|         return burgerService.findAll(); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,31 +0,0 @@ | |||||||
| package com.baeldung.hexagon.adaptor.secondary; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| import com.baeldung.hexagon.port.outbound.BurgerRepository; |  | ||||||
| import org.springframework.stereotype.Repository; |  | ||||||
| 
 |  | ||||||
| import java.util.ArrayList; |  | ||||||
| import java.util.HashMap; |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Map; |  | ||||||
| 
 |  | ||||||
| @Repository |  | ||||||
| public class BurgerRepositoryImpl implements BurgerRepository { |  | ||||||
| 
 |  | ||||||
|     private Map<String, Burger> burgerShop = new HashMap<>(); |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public void createBurger(Burger burger) { |  | ||||||
|         burgerShop.put(burger.getName(), burger); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public Burger findByName(String name) { |  | ||||||
|         return burgerShop.get(name); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public List<Burger> findAll() { |  | ||||||
|         return new ArrayList<>(burgerShop.values()); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,25 +0,0 @@ | |||||||
| package com.baeldung.hexagon.core.domain; |  | ||||||
| 
 |  | ||||||
| public class Burger { |  | ||||||
| 
 |  | ||||||
|     private String name; |  | ||||||
|     private String[] addons; |  | ||||||
| 
 |  | ||||||
|     public String getName() { |  | ||||||
|         return name; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public void setName(String name) { |  | ||||||
|         this.name = name; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public String[] getAddons() { |  | ||||||
|         return addons; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public void setAddons(String[] addons) { |  | ||||||
|         this.addons = addons; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     //getters and setters |  | ||||||
| } |  | ||||||
| @ -1,31 +0,0 @@ | |||||||
| package com.baeldung.hexagon.core.service; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| import com.baeldung.hexagon.port.inbound.BurgerService; |  | ||||||
| import com.baeldung.hexagon.port.outbound.BurgerRepository; |  | ||||||
| import org.springframework.beans.factory.annotation.Autowired; |  | ||||||
| import org.springframework.stereotype.Service; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| @Service |  | ||||||
| public class BurgerServiceImpl implements BurgerService { |  | ||||||
| 
 |  | ||||||
|     @Autowired |  | ||||||
|     private BurgerRepository burgerRepository; |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public void createBurger(Burger burger) { |  | ||||||
|         burgerRepository.createBurger(burger); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public Burger findByName(String name) { |  | ||||||
|         return burgerRepository.findByName(name); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public List<Burger> findAll() { |  | ||||||
|         return burgerRepository.findAll(); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,15 +0,0 @@ | |||||||
| package com.baeldung.hexagon.port.inbound; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| public interface BurgerService { |  | ||||||
| 
 |  | ||||||
|     void createBurger(Burger burger); |  | ||||||
| 
 |  | ||||||
|     Burger findByName(String name); |  | ||||||
| 
 |  | ||||||
|     List<Burger> findAll(); |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| @ -1,13 +0,0 @@ | |||||||
| package com.baeldung.hexagon.port.outbound; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| public interface BurgerRepository { |  | ||||||
|     void createBurger(Burger burger); |  | ||||||
| 
 |  | ||||||
|     Burger findByName(String name); |  | ||||||
| 
 |  | ||||||
|     List<Burger> findAll(); |  | ||||||
| } |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| package com.baeldung.hexagon.ui; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| import org.springframework.web.bind.annotation.GetMapping; |  | ||||||
| import org.springframework.web.bind.annotation.PathVariable; |  | ||||||
| import org.springframework.web.bind.annotation.PostMapping; |  | ||||||
| import org.springframework.web.bind.annotation.RequestBody; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| public interface BurgerRestController { |  | ||||||
| 
 |  | ||||||
|     @PostMapping |  | ||||||
|     void createBurger(@RequestBody Burger burger); |  | ||||||
| 
 |  | ||||||
|     @GetMapping("/{name}") |  | ||||||
|     Burger findByName(@PathVariable String name); |  | ||||||
| 
 |  | ||||||
|     @GetMapping |  | ||||||
|     List<Burger> findAll(); |  | ||||||
| } |  | ||||||
| @ -1,55 +0,0 @@ | |||||||
| package com.baeldung.hexagon; |  | ||||||
| 
 |  | ||||||
| import com.baeldung.hexagon.core.domain.Burger; |  | ||||||
| import com.baeldung.hexagon.port.inbound.BurgerService; |  | ||||||
| import org.junit.jupiter.api.Assertions; |  | ||||||
| import org.junit.jupiter.api.Test; |  | ||||||
| import org.springframework.beans.factory.annotation.Autowired; |  | ||||||
| import org.springframework.boot.test.context.SpringBootTest; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| 
 |  | ||||||
| import static org.junit.jupiter.api.Assertions.assertNotNull; |  | ||||||
| 
 |  | ||||||
| @SpringBootTest |  | ||||||
| class HexagonApplicationTests { |  | ||||||
| 
 |  | ||||||
| 	@Autowired |  | ||||||
| 	private BurgerService burgerService; |  | ||||||
| 
 |  | ||||||
| 	@Test |  | ||||||
| 	void testCreate() { |  | ||||||
| 		Burger burger = new Burger(); |  | ||||||
| 		burger.setName("Chicken Burger"); |  | ||||||
| 		burger.setAddons(new String[]{"tomato", "cheese"}); |  | ||||||
| 		burgerService.createBurger(burger); |  | ||||||
| 		assertNotNull(burgerService.findByName("Chicken Burger")); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Test |  | ||||||
| 	void testFindByName() { |  | ||||||
| 		Burger burger = new Burger(); |  | ||||||
| 		burger.setName("Chicken Burger"); |  | ||||||
| 		burger.setAddons(new String[]{"tomato", "cheese"}); |  | ||||||
| 		burgerService.createBurger(burger); |  | ||||||
| 		Burger burger1 = burgerService.findByName("Chicken Burger"); |  | ||||||
| 		Assertions.assertEquals("Chicken Burger", burger1.getName()); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Test |  | ||||||
| 	void testFindAll() { |  | ||||||
| 		Burger burger1 = new Burger(); |  | ||||||
| 		burger1.setName("Chicken Burger"); |  | ||||||
| 		burger1.setAddons(new String[]{"tomato", "cheese"}); |  | ||||||
| 		burgerService.createBurger(burger1); |  | ||||||
| 
 |  | ||||||
| 		Burger burger2 = new Burger(); |  | ||||||
| 		burger2.setName("Veggie Burger"); |  | ||||||
| 		burger2.setAddons(new String[]{"onion", "cheese"}); |  | ||||||
| 		burgerService.createBurger(burger2); |  | ||||||
| 		List<Burger> burgers = burgerService.findAll(); |  | ||||||
| 
 |  | ||||||
| 		Assertions.assertEquals(2, burgers.size()); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
							
								
								
									
										310
									
								
								maven-generate-war/mvnw
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										310
									
								
								maven-generate-war/mvnw
									
									
									
									
										vendored
									
									
								
							| @ -1,310 +0,0 @@ | |||||||
| #!/bin/sh |  | ||||||
| # ---------------------------------------------------------------------------- |  | ||||||
| # Licensed to the Apache Software Foundation (ASF) under one |  | ||||||
| # or more contributor license agreements.  See the NOTICE file |  | ||||||
| # distributed with this work for additional information |  | ||||||
| # regarding copyright ownership.  The ASF licenses this file |  | ||||||
| # to you under the Apache License, Version 2.0 (the |  | ||||||
| # "License"); you may not use this file except in compliance |  | ||||||
| # with the License.  You may obtain a copy of the License at |  | ||||||
| # |  | ||||||
| #    https://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
| # |  | ||||||
| # Unless required by applicable law or agreed to in writing, |  | ||||||
| # software distributed under the License is distributed on an |  | ||||||
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |  | ||||||
| # KIND, either express or implied.  See the License for the |  | ||||||
| # specific language governing permissions and limitations |  | ||||||
| # under the License. |  | ||||||
| # ---------------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| # ---------------------------------------------------------------------------- |  | ||||||
| # Maven Start Up Batch script |  | ||||||
| # |  | ||||||
| # Required ENV vars: |  | ||||||
| # ------------------ |  | ||||||
| #   JAVA_HOME - location of a JDK home dir |  | ||||||
| # |  | ||||||
| # Optional ENV vars |  | ||||||
| # ----------------- |  | ||||||
| #   M2_HOME - location of maven2's installed home dir |  | ||||||
| #   MAVEN_OPTS - parameters passed to the Java VM when running Maven |  | ||||||
| #     e.g. to debug Maven itself, use |  | ||||||
| #       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |  | ||||||
| #   MAVEN_SKIP_RC - flag to disable loading of mavenrc files |  | ||||||
| # ---------------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| if [ -z "$MAVEN_SKIP_RC" ] ; then |  | ||||||
| 
 |  | ||||||
|   if [ -f /etc/mavenrc ] ; then |  | ||||||
|     . /etc/mavenrc |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   if [ -f "$HOME/.mavenrc" ] ; then |  | ||||||
|     . "$HOME/.mavenrc" |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # OS specific support.  $var _must_ be set to either true or false. |  | ||||||
| cygwin=false; |  | ||||||
| darwin=false; |  | ||||||
| mingw=false |  | ||||||
| case "`uname`" in |  | ||||||
|   CYGWIN*) cygwin=true ;; |  | ||||||
|   MINGW*) mingw=true;; |  | ||||||
|   Darwin*) darwin=true |  | ||||||
|     # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home |  | ||||||
|     # See https://developer.apple.com/library/mac/qa/qa1170/_index.html |  | ||||||
|     if [ -z "$JAVA_HOME" ]; then |  | ||||||
|       if [ -x "/usr/libexec/java_home" ]; then |  | ||||||
|         export JAVA_HOME="`/usr/libexec/java_home`" |  | ||||||
|       else |  | ||||||
|         export JAVA_HOME="/Library/Java/Home" |  | ||||||
|       fi |  | ||||||
|     fi |  | ||||||
|     ;; |  | ||||||
| esac |  | ||||||
| 
 |  | ||||||
| if [ -z "$JAVA_HOME" ] ; then |  | ||||||
|   if [ -r /etc/gentoo-release ] ; then |  | ||||||
|     JAVA_HOME=`java-config --jre-home` |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$M2_HOME" ] ; then |  | ||||||
|   ## resolve links - $0 may be a link to maven's home |  | ||||||
|   PRG="$0" |  | ||||||
| 
 |  | ||||||
|   # need this for relative symlinks |  | ||||||
|   while [ -h "$PRG" ] ; do |  | ||||||
|     ls=`ls -ld "$PRG"` |  | ||||||
|     link=`expr "$ls" : '.*-> \(.*\)$'` |  | ||||||
|     if expr "$link" : '/.*' > /dev/null; then |  | ||||||
|       PRG="$link" |  | ||||||
|     else |  | ||||||
|       PRG="`dirname "$PRG"`/$link" |  | ||||||
|     fi |  | ||||||
|   done |  | ||||||
| 
 |  | ||||||
|   saveddir=`pwd` |  | ||||||
| 
 |  | ||||||
|   M2_HOME=`dirname "$PRG"`/.. |  | ||||||
| 
 |  | ||||||
|   # make it fully qualified |  | ||||||
|   M2_HOME=`cd "$M2_HOME" && pwd` |  | ||||||
| 
 |  | ||||||
|   cd "$saveddir" |  | ||||||
|   # echo Using m2 at $M2_HOME |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # For Cygwin, ensure paths are in UNIX format before anything is touched |  | ||||||
| if $cygwin ; then |  | ||||||
|   [ -n "$M2_HOME" ] && |  | ||||||
|     M2_HOME=`cygpath --unix "$M2_HOME"` |  | ||||||
|   [ -n "$JAVA_HOME" ] && |  | ||||||
|     JAVA_HOME=`cygpath --unix "$JAVA_HOME"` |  | ||||||
|   [ -n "$CLASSPATH" ] && |  | ||||||
|     CLASSPATH=`cygpath --path --unix "$CLASSPATH"` |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # For Mingw, ensure paths are in UNIX format before anything is touched |  | ||||||
| if $mingw ; then |  | ||||||
|   [ -n "$M2_HOME" ] && |  | ||||||
|     M2_HOME="`(cd "$M2_HOME"; pwd)`" |  | ||||||
|   [ -n "$JAVA_HOME" ] && |  | ||||||
|     JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$JAVA_HOME" ]; then |  | ||||||
|   javaExecutable="`which javac`" |  | ||||||
|   if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then |  | ||||||
|     # readlink(1) is not available as standard on Solaris 10. |  | ||||||
|     readLink=`which readlink` |  | ||||||
|     if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then |  | ||||||
|       if $darwin ; then |  | ||||||
|         javaHome="`dirname \"$javaExecutable\"`" |  | ||||||
|         javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" |  | ||||||
|       else |  | ||||||
|         javaExecutable="`readlink -f \"$javaExecutable\"`" |  | ||||||
|       fi |  | ||||||
|       javaHome="`dirname \"$javaExecutable\"`" |  | ||||||
|       javaHome=`expr "$javaHome" : '\(.*\)/bin'` |  | ||||||
|       JAVA_HOME="$javaHome" |  | ||||||
|       export JAVA_HOME |  | ||||||
|     fi |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$JAVACMD" ] ; then |  | ||||||
|   if [ -n "$JAVA_HOME"  ] ; then |  | ||||||
|     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then |  | ||||||
|       # IBM's JDK on AIX uses strange locations for the executables |  | ||||||
|       JAVACMD="$JAVA_HOME/jre/sh/java" |  | ||||||
|     else |  | ||||||
|       JAVACMD="$JAVA_HOME/bin/java" |  | ||||||
|     fi |  | ||||||
|   else |  | ||||||
|     JAVACMD="`which java`" |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ ! -x "$JAVACMD" ] ; then |  | ||||||
|   echo "Error: JAVA_HOME is not defined correctly." >&2 |  | ||||||
|   echo "  We cannot execute $JAVACMD" >&2 |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$JAVA_HOME" ] ; then |  | ||||||
|   echo "Warning: JAVA_HOME environment variable is not set." |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher |  | ||||||
| 
 |  | ||||||
| # traverses directory structure from process work directory to filesystem root |  | ||||||
| # first directory with .mvn subdirectory is considered project base directory |  | ||||||
| find_maven_basedir() { |  | ||||||
| 
 |  | ||||||
|   if [ -z "$1" ] |  | ||||||
|   then |  | ||||||
|     echo "Path not specified to find_maven_basedir" |  | ||||||
|     return 1 |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   basedir="$1" |  | ||||||
|   wdir="$1" |  | ||||||
|   while [ "$wdir" != '/' ] ; do |  | ||||||
|     if [ -d "$wdir"/.mvn ] ; then |  | ||||||
|       basedir=$wdir |  | ||||||
|       break |  | ||||||
|     fi |  | ||||||
|     # workaround for JBEAP-8937 (on Solaris 10/Sparc) |  | ||||||
|     if [ -d "${wdir}" ]; then |  | ||||||
|       wdir=`cd "$wdir/.."; pwd` |  | ||||||
|     fi |  | ||||||
|     # end of workaround |  | ||||||
|   done |  | ||||||
|   echo "${basedir}" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # concatenates all lines of a file |  | ||||||
| concat_lines() { |  | ||||||
|   if [ -f "$1" ]; then |  | ||||||
|     echo "$(tr -s '\n' ' ' < "$1")" |  | ||||||
|   fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| BASE_DIR=`find_maven_basedir "$(pwd)"` |  | ||||||
| if [ -z "$BASE_DIR" ]; then |  | ||||||
|   exit 1; |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| ########################################################################################## |  | ||||||
| # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |  | ||||||
| # This allows using the maven wrapper in projects that prohibit checking in binary data. |  | ||||||
| ########################################################################################## |  | ||||||
| if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then |  | ||||||
|     if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|       echo "Found .mvn/wrapper/maven-wrapper.jar" |  | ||||||
|     fi |  | ||||||
| else |  | ||||||
|     if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|       echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." |  | ||||||
|     fi |  | ||||||
|     if [ -n "$MVNW_REPOURL" ]; then |  | ||||||
|       jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" |  | ||||||
|     else |  | ||||||
|       jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" |  | ||||||
|     fi |  | ||||||
|     while IFS="=" read key value; do |  | ||||||
|       case "$key" in (wrapperUrl) jarUrl="$value"; break ;; |  | ||||||
|       esac |  | ||||||
|     done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" |  | ||||||
|     if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|       echo "Downloading from: $jarUrl" |  | ||||||
|     fi |  | ||||||
|     wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" |  | ||||||
|     if $cygwin; then |  | ||||||
|       wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     if command -v wget > /dev/null; then |  | ||||||
|         if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|           echo "Found wget ... using wget" |  | ||||||
|         fi |  | ||||||
|         if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |  | ||||||
|             wget "$jarUrl" -O "$wrapperJarPath" |  | ||||||
|         else |  | ||||||
|             wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" |  | ||||||
|         fi |  | ||||||
|     elif command -v curl > /dev/null; then |  | ||||||
|         if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|           echo "Found curl ... using curl" |  | ||||||
|         fi |  | ||||||
|         if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |  | ||||||
|             curl -o "$wrapperJarPath" "$jarUrl" -f |  | ||||||
|         else |  | ||||||
|             curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f |  | ||||||
|         fi |  | ||||||
| 
 |  | ||||||
|     else |  | ||||||
|         if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|           echo "Falling back to using Java to download" |  | ||||||
|         fi |  | ||||||
|         javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" |  | ||||||
|         # For Cygwin, switch paths to Windows format before running javac |  | ||||||
|         if $cygwin; then |  | ||||||
|           javaClass=`cygpath --path --windows "$javaClass"` |  | ||||||
|         fi |  | ||||||
|         if [ -e "$javaClass" ]; then |  | ||||||
|             if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |  | ||||||
|                 if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|                   echo " - Compiling MavenWrapperDownloader.java ..." |  | ||||||
|                 fi |  | ||||||
|                 # Compiling the Java class |  | ||||||
|                 ("$JAVA_HOME/bin/javac" "$javaClass") |  | ||||||
|             fi |  | ||||||
|             if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |  | ||||||
|                 # Running the downloader |  | ||||||
|                 if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|                   echo " - Running MavenWrapperDownloader.java ..." |  | ||||||
|                 fi |  | ||||||
|                 ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| fi |  | ||||||
| ########################################################################################## |  | ||||||
| # End of extension |  | ||||||
| ########################################################################################## |  | ||||||
| 
 |  | ||||||
| export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} |  | ||||||
| if [ "$MVNW_VERBOSE" = true ]; then |  | ||||||
|   echo $MAVEN_PROJECTBASEDIR |  | ||||||
| fi |  | ||||||
| MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" |  | ||||||
| 
 |  | ||||||
| # For Cygwin, switch paths to Windows format before running java |  | ||||||
| if $cygwin; then |  | ||||||
|   [ -n "$M2_HOME" ] && |  | ||||||
|     M2_HOME=`cygpath --path --windows "$M2_HOME"` |  | ||||||
|   [ -n "$JAVA_HOME" ] && |  | ||||||
|     JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` |  | ||||||
|   [ -n "$CLASSPATH" ] && |  | ||||||
|     CLASSPATH=`cygpath --path --windows "$CLASSPATH"` |  | ||||||
|   [ -n "$MAVEN_PROJECTBASEDIR" ] && |  | ||||||
|     MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # Provide a "standardized" way to retrieve the CLI args that will |  | ||||||
| # work with both Windows and non-Windows executions. |  | ||||||
| MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" |  | ||||||
| export MAVEN_CMD_LINE_ARGS |  | ||||||
| 
 |  | ||||||
| WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |  | ||||||
| 
 |  | ||||||
| exec "$JAVACMD" \ |  | ||||||
|   $MAVEN_OPTS \ |  | ||||||
|   -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ |  | ||||||
|   "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ |  | ||||||
|   ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |  | ||||||
							
								
								
									
										182
									
								
								maven-generate-war/mvnw.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										182
									
								
								maven-generate-war/mvnw.cmd
									
									
									
									
										vendored
									
									
								
							| @ -1,182 +0,0 @@ | |||||||
| @REM ---------------------------------------------------------------------------- |  | ||||||
| @REM Licensed to the Apache Software Foundation (ASF) under one |  | ||||||
| @REM or more contributor license agreements.  See the NOTICE file |  | ||||||
| @REM distributed with this work for additional information |  | ||||||
| @REM regarding copyright ownership.  The ASF licenses this file |  | ||||||
| @REM to you under the Apache License, Version 2.0 (the |  | ||||||
| @REM "License"); you may not use this file except in compliance |  | ||||||
| @REM with the License.  You may obtain a copy of the License at |  | ||||||
| @REM |  | ||||||
| @REM    https://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
| @REM |  | ||||||
| @REM Unless required by applicable law or agreed to in writing, |  | ||||||
| @REM software distributed under the License is distributed on an |  | ||||||
| @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |  | ||||||
| @REM KIND, either express or implied.  See the License for the |  | ||||||
| @REM specific language governing permissions and limitations |  | ||||||
| @REM under the License. |  | ||||||
| @REM ---------------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| @REM ---------------------------------------------------------------------------- |  | ||||||
| @REM Maven Start Up Batch script |  | ||||||
| @REM |  | ||||||
| @REM Required ENV vars: |  | ||||||
| @REM JAVA_HOME - location of a JDK home dir |  | ||||||
| @REM |  | ||||||
| @REM Optional ENV vars |  | ||||||
| @REM M2_HOME - location of maven2's installed home dir |  | ||||||
| @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands |  | ||||||
| @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending |  | ||||||
| @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven |  | ||||||
| @REM     e.g. to debug Maven itself, use |  | ||||||
| @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |  | ||||||
| @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files |  | ||||||
| @REM ---------------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' |  | ||||||
| @echo off |  | ||||||
| @REM set title of command window |  | ||||||
| title %0 |  | ||||||
| @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' |  | ||||||
| @if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO% |  | ||||||
| 
 |  | ||||||
| @REM set %HOME% to equivalent of $HOME |  | ||||||
| if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") |  | ||||||
| 
 |  | ||||||
| @REM Execute a user defined script before this one |  | ||||||
| if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre |  | ||||||
| @REM check for pre script, once with legacy .bat ending and once with .cmd ending |  | ||||||
| if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" |  | ||||||
| if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" |  | ||||||
| :skipRcPre |  | ||||||
| 
 |  | ||||||
| @setlocal |  | ||||||
| 
 |  | ||||||
| set ERROR_CODE=0 |  | ||||||
| 
 |  | ||||||
| @REM To isolate internal variables from possible post scripts, we use another setlocal |  | ||||||
| @setlocal |  | ||||||
| 
 |  | ||||||
| @REM ==== START VALIDATION ==== |  | ||||||
| if not "%JAVA_HOME%" == "" goto OkJHome |  | ||||||
| 
 |  | ||||||
| echo. |  | ||||||
| echo Error: JAVA_HOME not found in your environment. >&2 |  | ||||||
| echo Please set the JAVA_HOME variable in your environment to match the >&2 |  | ||||||
| echo location of your Java installation. >&2 |  | ||||||
| echo. |  | ||||||
| goto error |  | ||||||
| 
 |  | ||||||
| :OkJHome |  | ||||||
| if exist "%JAVA_HOME%\bin\java.exe" goto init |  | ||||||
| 
 |  | ||||||
| echo. |  | ||||||
| echo Error: JAVA_HOME is set to an invalid directory. >&2 |  | ||||||
| echo JAVA_HOME = "%JAVA_HOME%" >&2 |  | ||||||
| echo Please set the JAVA_HOME variable in your environment to match the >&2 |  | ||||||
| echo location of your Java installation. >&2 |  | ||||||
| echo. |  | ||||||
| goto error |  | ||||||
| 
 |  | ||||||
| @REM ==== END VALIDATION ==== |  | ||||||
| 
 |  | ||||||
| :init |  | ||||||
| 
 |  | ||||||
| @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". |  | ||||||
| @REM Fallback to current working directory if not found. |  | ||||||
| 
 |  | ||||||
| set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% |  | ||||||
| IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir |  | ||||||
| 
 |  | ||||||
| set EXEC_DIR=%CD% |  | ||||||
| set WDIR=%EXEC_DIR% |  | ||||||
| :findBaseDir |  | ||||||
| IF EXIST "%WDIR%"\.mvn goto baseDirFound |  | ||||||
| cd .. |  | ||||||
| IF "%WDIR%"=="%CD%" goto baseDirNotFound |  | ||||||
| set WDIR=%CD% |  | ||||||
| goto findBaseDir |  | ||||||
| 
 |  | ||||||
| :baseDirFound |  | ||||||
| set MAVEN_PROJECTBASEDIR=%WDIR% |  | ||||||
| cd "%EXEC_DIR%" |  | ||||||
| goto endDetectBaseDir |  | ||||||
| 
 |  | ||||||
| :baseDirNotFound |  | ||||||
| set MAVEN_PROJECTBASEDIR=%EXEC_DIR% |  | ||||||
| cd "%EXEC_DIR%" |  | ||||||
| 
 |  | ||||||
| :endDetectBaseDir |  | ||||||
| 
 |  | ||||||
| IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig |  | ||||||
| 
 |  | ||||||
| @setlocal EnableExtensions EnableDelayedExpansion |  | ||||||
| for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a |  | ||||||
| @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% |  | ||||||
| 
 |  | ||||||
| :endReadAdditionalConfig |  | ||||||
| 
 |  | ||||||
| SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" |  | ||||||
| set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" |  | ||||||
| set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |  | ||||||
| 
 |  | ||||||
| set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" |  | ||||||
| 
 |  | ||||||
| FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( |  | ||||||
|     IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |  | ||||||
| @REM This allows using the maven wrapper in projects that prohibit checking in binary data. |  | ||||||
| if exist %WRAPPER_JAR% ( |  | ||||||
|     if "%MVNW_VERBOSE%" == "true" ( |  | ||||||
|         echo Found %WRAPPER_JAR% |  | ||||||
|     ) |  | ||||||
| ) else ( |  | ||||||
|     if not "%MVNW_REPOURL%" == "" ( |  | ||||||
|         SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" |  | ||||||
|     ) |  | ||||||
|     if "%MVNW_VERBOSE%" == "true" ( |  | ||||||
|         echo Couldn't find %WRAPPER_JAR%, downloading it ... |  | ||||||
|         echo Downloading from: %DOWNLOAD_URL% |  | ||||||
|     ) |  | ||||||
| 
 |  | ||||||
|     powershell -Command "&{"^ |  | ||||||
| 		"$webclient = new-object System.Net.WebClient;"^ |  | ||||||
| 		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ |  | ||||||
| 		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ |  | ||||||
| 		"}"^ |  | ||||||
| 		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ |  | ||||||
| 		"}" |  | ||||||
|     if "%MVNW_VERBOSE%" == "true" ( |  | ||||||
|         echo Finished downloading %WRAPPER_JAR% |  | ||||||
|     ) |  | ||||||
| ) |  | ||||||
| @REM End of extension |  | ||||||
| 
 |  | ||||||
| @REM Provide a "standardized" way to retrieve the CLI args that will |  | ||||||
| @REM work with both Windows and non-Windows executions. |  | ||||||
| set MAVEN_CMD_LINE_ARGS=%* |  | ||||||
| 
 |  | ||||||
| %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* |  | ||||||
| if ERRORLEVEL 1 goto error |  | ||||||
| goto end |  | ||||||
| 
 |  | ||||||
| :error |  | ||||||
| set ERROR_CODE=1 |  | ||||||
| 
 |  | ||||||
| :end |  | ||||||
| @endlocal & set ERROR_CODE=%ERROR_CODE% |  | ||||||
| 
 |  | ||||||
| if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost |  | ||||||
| @REM check for post script, once with legacy .bat ending and once with .cmd ending |  | ||||||
| if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" |  | ||||||
| if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" |  | ||||||
| :skipRcPost |  | ||||||
| 
 |  | ||||||
| @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' |  | ||||||
| if "%MAVEN_BATCH_PAUSE%" == "on" pause |  | ||||||
| 
 |  | ||||||
| if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% |  | ||||||
| 
 |  | ||||||
| exit /B %ERROR_CODE% |  | ||||||
| @ -1,63 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |  | ||||||
| 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |  | ||||||
| 	<modelVersion>4.0.0</modelVersion> |  | ||||||
| 	<parent> |  | ||||||
| 		<groupId>org.springframework.boot</groupId> |  | ||||||
| 		<artifactId>spring-boot-starter-parent</artifactId> |  | ||||||
| 		<version>2.5.4</version> |  | ||||||
| 		<relativePath/> <!-- lookup parent from repository --> |  | ||||||
| 	</parent> |  | ||||||
| 	<groupId>com.baeldung</groupId> |  | ||||||
| 	<artifactId>maven-generate-war</artifactId> |  | ||||||
| 	<version>0.0.1-SNAPSHOT</version> |  | ||||||
| 	<packaging>war</packaging> |  | ||||||
| 	<name>maven-generate-war</name> |  | ||||||
| 	<description>Spring boot project to demonstrate war file generation</description> |  | ||||||
| 	<properties> |  | ||||||
| 		<java.version>11</java.version> |  | ||||||
| 	</properties> |  | ||||||
| 	<dependencies> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-thymeleaf</artifactId> |  | ||||||
| 		</dependency> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-web</artifactId> |  | ||||||
| 		</dependency> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-tomcat</artifactId> |  | ||||||
| 			<scope>provided</scope> |  | ||||||
| 		</dependency> |  | ||||||
| 		<dependency> |  | ||||||
| 			<groupId>org.springframework.boot</groupId> |  | ||||||
| 			<artifactId>spring-boot-starter-test</artifactId> |  | ||||||
| 			<scope>test</scope> |  | ||||||
| 		</dependency> |  | ||||||
| 	</dependencies> |  | ||||||
| 
 |  | ||||||
| 	<build> |  | ||||||
| 		<finalName>maven-generate-war</finalName> |  | ||||||
| 		<plugins> |  | ||||||
| 			<plugin> |  | ||||||
| 				<artifactId>maven-war-plugin</artifactId> |  | ||||||
| 				<version>3.3.1</version> |  | ||||||
| 				<configuration> |  | ||||||
| 					<webResources> |  | ||||||
| 						<resource> |  | ||||||
| 							<directory>additional_resources</directory> |  | ||||||
| 						</resource> |  | ||||||
| 					</webResources> |  | ||||||
| 					<archive> |  | ||||||
| 						<manifest> |  | ||||||
| 							<addClasspath>true</addClasspath> |  | ||||||
| 						</manifest> |  | ||||||
| 					</archive> |  | ||||||
| 				</configuration> |  | ||||||
| 			</plugin> |  | ||||||
| 		</plugins> |  | ||||||
| 	</build> |  | ||||||
| 
 |  | ||||||
| </project> |  | ||||||
							
								
								
									
										63
									
								
								maven-modules/maven-generate-war/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								maven-modules/maven-generate-war/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |     <parent> | ||||||
|  |         <groupId>org.springframework.boot</groupId> | ||||||
|  |         <artifactId>spring-boot-starter-parent</artifactId> | ||||||
|  |         <version>2.5.4</version> | ||||||
|  |         <relativePath/> <!-- lookup parent from repository --> | ||||||
|  |     </parent> | ||||||
|  |     <groupId>com.baeldung</groupId> | ||||||
|  |     <artifactId>maven-generate-war</artifactId> | ||||||
|  |     <version>0.0.1-SNAPSHOT</version> | ||||||
|  |     <packaging>war</packaging> | ||||||
|  |     <name>maven-generate-war</name> | ||||||
|  |     <description>Spring boot project to demonstrate war file generation</description> | ||||||
|  |     <properties> | ||||||
|  |         <java.version>11</java.version> | ||||||
|  |     </properties> | ||||||
|  |     <dependencies> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.boot</groupId> | ||||||
|  |             <artifactId>spring-boot-starter-thymeleaf</artifactId> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.boot</groupId> | ||||||
|  |             <artifactId>spring-boot-starter-web</artifactId> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.boot</groupId> | ||||||
|  |             <artifactId>spring-boot-starter-tomcat</artifactId> | ||||||
|  |             <scope>provided</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.boot</groupId> | ||||||
|  |             <artifactId>spring-boot-starter-test</artifactId> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |     </dependencies> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  |         <finalName>maven-generate-war</finalName> | ||||||
|  |         <plugins> | ||||||
|  |             <plugin> | ||||||
|  |                 <artifactId>maven-war-plugin</artifactId> | ||||||
|  |                 <version>3.3.1</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <webResources> | ||||||
|  |                         <resource> | ||||||
|  |                             <directory>additional_resources</directory> | ||||||
|  |                         </resource> | ||||||
|  |                     </webResources> | ||||||
|  |                     <archive> | ||||||
|  |                         <manifest> | ||||||
|  |                             <addClasspath>true</addClasspath> | ||||||
|  |                         </manifest> | ||||||
|  |                     </archive> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  |         </plugins> | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  | </project> | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user