diff --git a/.gitignore b/.gitignore
index e7d3759aec8fb125bae12729434f8c08268ecf6f..6207f6f583da5f5c2911da8da2075f483d901c10 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,3 +32,5 @@ dbflute_fess/schema/project-lastadoc-fess.json
 src/main/resources/fess_indices/.fess_config.access_token/access_token.bulk
 src/main/resources/ga_client_secrets.p12
 src/main/webapp/WEB-INF/project.properties
+/.apt_generated/
+/.apt_generated_tests/
diff --git a/src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java b/src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java
index 91c35ade2b85de19014d1f4c0927163b191d19d2..bb8685980f5dee7a6f57a474727e4effb12e6e4a 100644
--- a/src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java
+++ b/src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java
@@ -46,7 +46,6 @@ import org.codelibs.core.CoreLibConstants;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.api.BaseApiManager;
-import org.codelibs.fess.api.WebApiManager;
 import org.codelibs.fess.api.WebApiRequest;
 import org.codelibs.fess.entity.FacetInfo;
 import org.codelibs.fess.entity.GeoInfo;
@@ -60,7 +59,7 @@ import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.DocumentUtil;
 import org.dbflute.optional.OptionalThing;
 
-public class GsaApiManager extends BaseApiManager implements WebApiManager {
+public class GsaApiManager extends BaseApiManager {
     private static final Logger logger = LogManager.getLogger(GsaApiManager.class);
 
     private static final String OUTPUT_XML = "xml"; // or xml_no_dtd
diff --git a/src/main/java/org/codelibs/fess/app/job/ScriptExecutorJob.java b/src/main/java/org/codelibs/fess/app/job/ScriptExecutorJob.java
index 25626119ae4a7b4c3c48321716cf8d7113c34d63..56d7949b14a47c30eeb7a297f910719ddd1cc6b6 100644
--- a/src/main/java/org/codelibs/fess/app/job/ScriptExecutorJob.java
+++ b/src/main/java/org/codelibs/fess/app/job/ScriptExecutorJob.java
@@ -98,7 +98,7 @@ public class ScriptExecutorJob implements LaJob {
                 logger.info("Starting Job {}.", id);
             }
 
-            final Object ret = jobExecutor.execute(script);
+            final Object ret = jobExecutor.execute(Constants.DEFAULT_SCRIPT, script);
             if (ret == null) {
                 if (scheduledJob.isLoggingEnabled() && logger.isInfoEnabled()) {
                     logger.info("Finished Job {}.", id);
diff --git a/src/main/java/org/codelibs/fess/dict/DictionaryManager.java b/src/main/java/org/codelibs/fess/dict/DictionaryManager.java
index d74b3101c59a36e7e4927ef1ce65776c0c658a61..eb59f6793ecf561dd3452720fd4c0514d14b4dd3 100644
--- a/src/main/java/org/codelibs/fess/dict/DictionaryManager.java
+++ b/src/main/java/org/codelibs/fess/dict/DictionaryManager.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.codelibs.core.io.FileUtil;
 import org.codelibs.curl.CurlResponse;
-import org.codelibs.fesen.runner.net.EcrCurl;
+import org.codelibs.fesen.runner.net.FesenCurl;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.util.ComponentUtil;
 import org.dbflute.optional.OptionalEntity;
@@ -52,7 +52,7 @@ public class DictionaryManager {
     public DictionaryFile<? extends DictionaryItem>[] getDictionaryFiles() {
         try (CurlResponse response = ComponentUtil.getCurlHelper().get("/_configsync/file").param("fields", "path,@timestamp")
                 .param("size", ComponentUtil.getFessConfig().getPageDictionaryMaxFetchSize()).execute()) {
-            final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
+            final Map<String, Object> contentMap = response.getContent(FesenCurl.jsonParser());
             @SuppressWarnings("unchecked")
             final List<Map<String, Object>> fileList = (List<Map<String, Object>>) contentMap.get("file");
             return fileList.stream().map(fileMap -> {
@@ -94,7 +94,7 @@ public class DictionaryManager {
             // TODO use stream
             try (CurlResponse response = ComponentUtil.getCurlHelper().post("/_configsync/file").param("path", dictFile.getPath())
                     .body(FileUtil.readUTF8(file)).execute()) {
-                final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
+                final Map<String, Object> contentMap = response.getContent(FesenCurl.jsonParser());
                 if (!Constants.TRUE.equalsIgnoreCase(contentMap.get("acknowledged").toString())) {
                     throw new DictionaryException("Failed to update " + dictFile.getPath());
                 }
diff --git a/src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java b/src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java
index 1545affa83f550e6f1bc6c20e07b3ecea37778d0..64b7f166adc26a82ed54e77c0ea9e43e3d358fdb 100644
--- a/src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java
+++ b/src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java
@@ -47,7 +47,7 @@ import org.codelibs.core.net.UuidUtil;
 import org.codelibs.core.stream.StreamUtil;
 import org.codelibs.curl.Curl;
 import org.codelibs.curl.CurlResponse;
-import org.codelibs.fesen.runner.net.EcrCurl;
+import org.codelibs.fesen.runner.net.FesenCurl;
 import org.codelibs.fess.app.web.base.login.ActionResponseCredential;
 import org.codelibs.fess.app.web.base.login.AzureAdCredential;
 import org.codelibs.fess.app.web.base.login.AzureAdCredential.AzureAdUser;
@@ -369,7 +369,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
         }
         try (CurlResponse response = Curl.get(url).header("Authorization", "Bearer " + user.getAuthenticationResult().getAccessToken())
                 .header("Accept", "application/json").execute()) {
-            final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
+            final Map<String, Object> contentMap = response.getContent(FesenCurl.jsonParser());
             if (logger.isDebugEnabled()) {
                 logger.debug("response: {}", contentMap);
             }
@@ -449,7 +449,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
                         Curl.post(url).header("Authorization", "Bearer " + user.getAuthenticationResult().getAccessToken())
                                 .header("Accept", "application/json").header("Content-type", "application/json")
                                 .body("{\"securityEnabledOnly\":false}").execute()) {
-                    final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
+                    final Map<String, Object> contentMap = response.getContent(FesenCurl.jsonParser());
                     if (logger.isDebugEnabled()) {
                         logger.debug("response: {}", contentMap);
                     }
@@ -487,7 +487,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
         }
         try (CurlResponse response = Curl.get(url).header("Authorization", "Bearer " + user.getAuthenticationResult().getAccessToken())
                 .header("Accept", "application/json").execute()) {
-            final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
+            final Map<String, Object> contentMap = response.getContent(FesenCurl.jsonParser());
             if (logger.isDebugEnabled()) {
                 logger.debug("response: {}", contentMap);
             }