diff --git a/pom.xml b/pom.xml
index 023925c..b5441c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 	
 		org.springframework.boot
 		spring-boot-starter-parent
-		2.7.18
+		3.4.1
 		 
 	
 	osm.surveyor.plateau
@@ -15,7 +15,7 @@
 	task-bldg
 	TaskingManager for Plateau BLDG
 	
-		11
+		17
 	
 	
 		
@@ -106,7 +106,6 @@
 		
 		    com.h2database
 		    h2
-		    1.4.200
             runtime
 		
 		
@@ -114,7 +113,6 @@
 		
 		    org.junit.jupiter
 		    junit-jupiter-api
-		    5.11.4
 		    test
 		
 	
diff --git a/src/main/java/osm/surveyor/task/StringTableGenerator.java b/src/main/java/osm/surveyor/task/StringTableGenerator.java
deleted file mode 100644
index 9f66385..0000000
--- a/src/main/java/osm/surveyor/task/StringTableGenerator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package osm.surveyor.task;
-
-import java.io.Serializable;
-import java.util.Properties;
-
-import org.hibernate.MappingException;
-import org.hibernate.engine.spi.SharedSessionContractImplementor;
-import org.hibernate.id.enhanced.TableGenerator;
-import org.hibernate.service.ServiceRegistry;
-import org.hibernate.type.BigDecimalType;
-import org.hibernate.type.Type;
-
-/**
- * TableGenerator (文字列カラム対応)
- */
-public class StringTableGenerator extends TableGenerator {
-
-	@Override
-	public void configure(Type type, Properties params, ServiceRegistry serviceRegistry) throws MappingException {
-		super.configure(new BigDecimalType() , params, serviceRegistry);
-	}
-
-	@Override
-	public Serializable generate(SharedSessionContractImplementor session, Object obj) {
-		return super.generate(session, obj).toString();
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/osm/surveyor/task/city/CityRepository.java b/src/main/java/osm/surveyor/task/city/CityRepository.java
index c3bfc90..52ba73e 100644
--- a/src/main/java/osm/surveyor/task/city/CityRepository.java
+++ b/src/main/java/osm/surveyor/task/city/CityRepository.java
@@ -2,9 +2,8 @@
 
 import java.util.List;
 
-import javax.transaction.Transactional;
-
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.transaction.annotation.Transactional;
 
 import osm.surveyor.task.city.model.City;
 
diff --git a/src/main/java/osm/surveyor/task/city/DataLoader.java b/src/main/java/osm/surveyor/task/city/DataLoader.java
index 8895a3b..1010159 100644
--- a/src/main/java/osm/surveyor/task/city/DataLoader.java
+++ b/src/main/java/osm/surveyor/task/city/DataLoader.java
@@ -70,7 +70,7 @@
 		RestTemplate restTemplate = new RestTemplate();
 		System.out.println(String.format("INFO: httpGet(%s)", url));
 		ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, null, String.class);
-		HttpStatus httpStatus = response.getStatusCode();
+		HttpStatus httpStatus = (HttpStatus) response.getStatusCode();
 		if (httpStatus.isError()) {
 			System.out.println("ERROE: Can not access '"+ url +"'");
 			throw new Exception("ERROE: Can not access '"+ url +"'");
diff --git a/src/main/java/osm/surveyor/task/city/model/City.java b/src/main/java/osm/surveyor/task/city/model/City.java
index 199981e..5cc2b0d 100644
--- a/src/main/java/osm/surveyor/task/city/model/City.java
+++ b/src/main/java/osm/surveyor/task/city/model/City.java
@@ -2,18 +2,17 @@
 
 import java.math.BigDecimal;
 
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotBlank;
-
+import org.springframework.data.annotation.Id;
 import org.springframework.format.annotation.NumberFormat;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import osm.surveyor.task.util.Point;
 
diff --git a/src/main/java/osm/surveyor/task/index/IndexController.java b/src/main/java/osm/surveyor/task/index/IndexController.java
index 512973d..56bc5ea 100644
--- a/src/main/java/osm/surveyor/task/index/IndexController.java
+++ b/src/main/java/osm/surveyor/task/index/IndexController.java
@@ -19,7 +19,7 @@
 			RestTemplate restTemplate = new RestTemplate();
 			System.out.println(String.format("INFO: httpGet(%s)", url));
 			ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, null, String.class);
-			HttpStatus httpStatus = response.getStatusCode();
+			HttpStatus httpStatus = (HttpStatus) response.getStatusCode();
 			if (httpStatus.isError()) {
 				System.out.println("ERROE: Can not access '"+ url +"'");
 				throw new Exception("ERROE: Can not access '"+ url +"'");
diff --git a/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java b/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java
index ef0f96c..980fd88 100644
--- a/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java
+++ b/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java
@@ -1,18 +1,17 @@
 package osm.surveyor.task.mesh.model;
 
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.ManyToOne;
-import javax.validation.constraints.NotBlank;
-
+import org.springframework.data.annotation.Id;
 import org.springframework.format.annotation.NumberFormat;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.ManyToOne;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import osm.surveyor.task.city.model.City;
 import osm.surveyor.task.city.model.Status;
diff --git a/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java b/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java
index ed5145a..32dfcaa 100644
--- a/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java
+++ b/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java
@@ -2,8 +2,7 @@
 
 import java.io.Serializable;
 
-import javax.persistence.Embeddable;
-
+import jakarta.persistence.Embeddable;
 import lombok.Getter;
 import lombok.Setter;
 
diff --git a/src/main/java/osm/surveyor/task/plateau/PlateauBean.java b/src/main/java/osm/surveyor/task/plateau/PlateauBean.java
new file mode 100644
index 0000000..ed443cf
--- /dev/null
+++ b/src/main/java/osm/surveyor/task/plateau/PlateauBean.java
@@ -0,0 +1,16 @@
+package osm.surveyor.task.plateau;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PlateauBean {
+
+	@Value("${app.plateau.dir}")
+	private String plateauDirName;
+	
+    public String getPlateauDirName() {
+        return plateauDirName;
+    }
+    
+}
diff --git a/src/main/java/osm/surveyor/task/task/TaskController.java b/src/main/java/osm/surveyor/task/task/TaskController.java
index ad39933..b83fdd3 100644
--- a/src/main/java/osm/surveyor/task/task/TaskController.java
+++ b/src/main/java/osm/surveyor/task/task/TaskController.java
@@ -5,8 +5,6 @@
 import java.util.List;
 import java.util.UUID;
 
-import javax.servlet.http.HttpServletResponse;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Controller;
@@ -22,6 +20,7 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import osm.surveyor.task.city.CityRepository;
 import osm.surveyor.task.city.CityService;
diff --git a/src/main/java/osm/surveyor/task/task/TaskService.java b/src/main/java/osm/surveyor/task/task/TaskService.java
index 01b3b59..e550f5b 100644
--- a/src/main/java/osm/surveyor/task/task/TaskService.java
+++ b/src/main/java/osm/surveyor/task/task/TaskService.java
@@ -3,6 +3,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import jakarta.transaction.Transactional;
 import osm.surveyor.task.city.ConflictException;
 import osm.surveyor.task.city.NotAcceptableException;
 import osm.surveyor.task.city.model.Operation;
@@ -12,8 +13,6 @@
 import osm.surveyor.task.mesh.model.CitymeshPK;
 import osm.surveyor.task.task.model.TaskEntity;
 
-import javax.transaction.Transactional;
-
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
diff --git a/src/main/java/osm/surveyor/task/task/model/TaskEntity.java b/src/main/java/osm/surveyor/task/task/model/TaskEntity.java
index bcc4bb4..49814c4 100644
--- a/src/main/java/osm/surveyor/task/task/model/TaskEntity.java
+++ b/src/main/java/osm/surveyor/task/task/model/TaskEntity.java
@@ -2,20 +2,19 @@
 
 import java.util.Date;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-import javax.validation.constraints.NotBlank;
-
 import org.springframework.format.annotation.NumberFormat;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import osm.surveyor.task.city.model.Operation;
diff --git a/src/main/java/osm/surveyor/task/task/model/TaskPK.java b/src/main/java/osm/surveyor/task/task/model/TaskPK.java
index a712fea..92e419c 100644
--- a/src/main/java/osm/surveyor/task/task/model/TaskPK.java
+++ b/src/main/java/osm/surveyor/task/task/model/TaskPK.java
@@ -2,8 +2,7 @@
 
 import java.io.Serializable;
 
-import javax.persistence.Embeddable;
-
+import jakarta.persistence.Embeddable;
 import lombok.Getter;
 import lombok.Setter;
 
diff --git a/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java b/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java
index 15bf4a7..7d7b25b 100644
--- a/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java
+++ b/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java
@@ -1,12 +1,11 @@
 package osm.surveyor.task.task.model;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/osm/surveyor/task/util/Point.java b/src/main/java/osm/surveyor/task/util/Point.java
index 0899d1d..eddfe1e 100644
--- a/src/main/java/osm/surveyor/task/util/Point.java
+++ b/src/main/java/osm/surveyor/task/util/Point.java
@@ -4,12 +4,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.validation.constraints.NotBlank;
-
 import org.springframework.format.annotation.NumberFormat;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
diff --git a/src/main/java/osm/surveyor/task/util/UuidGenerator.java b/src/main/java/osm/surveyor/task/util/UuidGenerator.java
index 8f39927..5508925 100644
--- a/src/main/java/osm/surveyor/task/util/UuidGenerator.java
+++ b/src/main/java/osm/surveyor/task/util/UuidGenerator.java
@@ -8,11 +8,12 @@
 
 public class UuidGenerator extends IdentityGenerator{
 	
+	private static final long serialVersionUID = 1L;
+
 	/**
 	 * UUIDを生成し返却する
 	 */
-	@Override
-    public Serializable generate(SharedSessionContractImplementor session, Object obj) {
+	public Serializable generate(SharedSessionContractImplementor session, Object obj) {
         return UUID.randomUUID().toString();
     }
 }
diff --git a/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/src/main/resources/META-INF/additional-spring-configuration-metadata.json
new file mode 100644
index 0000000..6cf7734
--- /dev/null
+++ b/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -0,0 +1,22 @@
+{"properties": [
+  {
+    "name": "task-bldg.osm-data.url",
+    "type": "java.lang.String",
+    "description": "A description for 'task-bldg.osm-data.url'"
+  },
+  {
+    "name": "app.plateau.dir",
+    "type": "java.lang.String",
+    "description": "A description for 'app.plateau.dir'"
+  },
+  {
+    "name": "app.plateau.dir",
+    "type": "java.lang.String",
+    "description": "A description for 'app.plateau.dir'"
+  },
+  {
+    "name": "app.osm-data.url",
+    "type": "java.lang.String",
+    "description": "A description for 'app.osm-data.url'"
+  }
+]}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 060effe..b4de028 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -19,5 +19,5 @@
 spring.jpa.hibernate.ddl-auto=update
 
 # task-bldg orignal properties
-task-bldg.osm-data.url=http://surveyor.mydns.jp/osm-data
-task-bldg.plateau.dir=plateau-data
+app.osm-data.url=http://surveyor.mydns.jp/osm-data
+app.plateau.dir=plateau-data
diff --git a/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java b/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java
new file mode 100644
index 0000000..77c7c33
--- /dev/null
+++ b/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java
@@ -0,0 +1,42 @@
+package osm.surveyor.task.plateau;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class PlateauBeanTest {
+	
+	@Autowired
+    PlateauBean bean;
+	
+	@BeforeAll
+	static void setUpBeforeClass() throws Exception {
+	}
+
+	@AfterAll
+	static void tearDownAfterClass() throws Exception {
+	}
+
+	@BeforeEach
+	void setUp() throws Exception {
+	}
+
+	@AfterEach
+	void tearDown() throws Exception {
+	}
+
+	@Test
+	@DisplayName("'app.plateau.dir'を読み取れる")
+	void testGetPlateauDirName() {
+		assertEquals("plateau-data", bean.getPlateauDirName());
+		//fail("まだ実装されていません");
+	}
+}
diff --git a/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java b/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java
deleted file mode 100644
index 81852a4..0000000
--- a/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package osm.surveyor.task.plateau;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
-import org.springframework.util.FileSystemUtils;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@SpringBootTest
-@WebMvcTest(PlateauController.class)
-class PlateauControllerTest {
-	
-	@Autowired
-	private MockMvc mvc;
-	private final String rootUrl = "/plateau";
-	private static final String dirStr = "plateau-data";		// task-bldg.plateau.dir=plateau-data
-
-	@BeforeAll
-	static void setUpBeforeClass() throws Exception {
-		Path dir = Path.of(dirStr);
-		FileSystemUtils.deleteRecursively(dir);
-	}
-
-	@AfterAll
-	static void tearDownAfterClass() throws Exception {
-	}
-
-	@BeforeEach
-	void setUp() throws Exception {
-	}
-
-	@AfterEach
-	void tearDown() throws Exception {
-	}
-	
-	@Test
-    @DisplayName("'./plateau/01100' is Sapporo 2020")
-	void testGetPlateau() throws IOException {
-		String urlPath = "/01100";
-		
-		MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(rootUrl + urlPath))
-				.andExpect(status().isOk())
-				.andExpect(content().json("OK"))
-				.andReturn();
-		
-		Path base = Path.of(dirStr);
-		boolean exists = Files.exists(base);
-		assertThat(exists);
-	}
-}
diff --git a/src/test/java/osm/surveyor/task/util/GeojsonTest.java b/src/test/java/osm/surveyor/task/util/GeojsonTest.java
index b58d64d..2d42751 100644
--- a/src/test/java/osm/surveyor/task/util/GeojsonTest.java
+++ b/src/test/java/osm/surveyor/task/util/GeojsonTest.java
@@ -1,5 +1,8 @@
 package osm.surveyor.task.util;
 
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.nullValue;
+
 import java.io.IOException;
 import java.io.InputStream;
 
@@ -9,11 +12,13 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.core.io.ClassPathResource;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+@SpringBootTest
 class GeojsonTest {
 
 	@BeforeAll
@@ -39,6 +44,7 @@
         try (InputStream is = new ClassPathResource(path).getInputStream()) {
         	ObjectMapper mapper = new ObjectMapper();
         	JsonNode node = mapper.readTree(is);
+        	assertNotNull(node);
         	Geojson geojson = new Geojson();
         	geojson.parse(node);