Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在上下文路径下部署SpringBoot_Java_Tomcat_Spring Boot_Apache Tomee_Tomee 7 - Fatal编程技术网

Java 在上下文路径下部署SpringBoot

Java 在上下文路径下部署SpringBoot,java,tomcat,spring-boot,apache-tomee,tomee-7,Java,Tomcat,Spring Boot,Apache Tomee,Tomee 7,将SpringBoot应用程序打包为EAR并部署到本地TomEE 7实例 部署后,将托管在TOMEE/my-app-api webapp文件夹中的静态index.html页面已从TOMEE/my-app api/index.html正确送达 我有一个RestController,其中一个GET端点映射到/api/country 当我尝试通过TOMEE/my-app-api/api/country调用RestController时,我得到了一个404 如果我从嵌入式Tomcat实例运行相同的应用程

将SpringBoot应用程序打包为EAR并部署到本地TomEE 7实例

部署后,将托管在
TOMEE/my-app-api

webapp文件夹中的静态index.html页面已从TOMEE/my-app api/index.html正确送达

我有一个
RestController
,其中一个GET端点映射到
/api/country

当我尝试通过
TOMEE/my-app-api/api/country
调用
RestController
时,我得到了一个404

如果我从嵌入式Tomcat实例运行相同的应用程序,并通过
Tomcat/api/country
调用
RestController
,我会得到一个成功的响应

为了让SpringBoot托管在这个上下文路径下,我还需要配置什么

耳朵渐变任务

apply plugin: 'ear'
version = '1.0.0-SNAPSHOT'

ear {
    archiveName = 'git rev-parse --short HEAD'.execute().text.trim() + "-$version" + '-service.ear'
    baseName = 'git rev-parse --short HEAD'.execute().text.trim()
    version= "-$version" + '-service'

    deploymentDescriptor {
        displayName = 'Service API'
        webModule('service-api.war', 'service-api')
    }
}

dependencies{
    deploy project(path: ':service-api', configuration: 'archives')
    deploy project(path: ':service-data', configuration: 'archives')
    deploy project(path: ':service-rules', configuration: 'archives')
}
应用程序类

@SpringBootApplication
public class ServiceApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ServiceApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(ServiceApplication.class, args);
    }
}

您是如何配置上下文路径的?你试过这个端点吗?TOMEE/my app api/my app api/api/Country没有配置任何上下文路径,只是使用TOMEE当前设置的默认路径。不走运地尝试了该端点:(您可以将application.properties文件中的上下文路径配置为server.context-pathk将尝试…尝试了
server.context path=/test api
,但没有任何区别