春季休息服务作为战争而不是雄猫的 JAR



我正在Java Spring中创建一个REST Web服务。 我已经成功加载了 STS 和详细介绍的示例:

"本指南将引导您完成使用 Spring 创建"hello world"RESTful Web 服务的过程。http://spring.io/guides/gs/rest-service/

但是,该教程仅到此为止。我想创建一个 WAR 文件,而不是一个包含 servlet 的自运行 jar,并部署该 WAR 文件。 然后我找到了这个教程,并尝试只修改第一个教程 build.gradle 文件。

"将 Spring Boot JAR 应用程序转换为 WAR"http://spring.io/guides/gs/convert-jar-to-war/

它似乎可以很好地构建到.war文件中..该服务在我的TOMCAT实例的管理器中运行..但是一旦我尝试使用该服务,我就会得到404。

网址 404'd

http://localhost:8080/gs-rest-service-0.1.0/dbgreeting?name=MyName

我需要修改映射吗?

数据库控制器.java

@RequestMapping("/dbgreeting")
    public @ResponseBody DataBaseGreeter dbgreeting(
            @RequestParam(value="name", required=false, defaultValue="World") String name) {
        return new DataBaseGreeter(counter.incrementAndGet(),String.format(template, name));
    }

现在我有根据混合事物创建的.war文件......并担心我可能错过了什么。

从那以后,我发现OSX上的XAMPP不包含webapp/文件夹,这迫使我加载Bitnami的Tomcat堆栈。 人们通常会基于此在 XAMPP 和其他堆栈之间切换吗?还是我错过了在 XAMPP 中创建 Web 应用程序文件夹的内容?

WAR 只是一个具有特殊属性的 JAR。 它需要有一个 WEB-INF,在该 WEB-INF 下,你需要一个 web.xml来描述你的部署、任何依赖于应用程序服务器 XML 配置文件,通常还有一个库、类和其他零碎的东西。

最简单的方法是使用 Maven 来创建您的 WAR。 我认为您应该能够简单地将pom中的项目类型从JAR更改为WAR.xml 您遵循的教程似乎使用了 Gradle,我相信它反过来使用了 Maven,所以您应该在某个地方有一个。 除此之外,谷歌搜索有关如何构建 WAR 的教程。 我不认为Tomcat需要任何特殊的部署描述符,所以你应该只需要网络。.xml。

OP的答案从问题移到这里

男孩,我觉得真的很笨。发现更改 gradle 说明后教程还有更多内容。.包括非常需要的自动配置,取代/取代了对网络的需求.xml

溶液

初始化 servlet

以前,该应用程序包含一个public static void main()方法,spring-boot-gradle-plugin 配置为在使用 java -jar 命令时运行。

通过将其转换为没有 XML 文件的 WAR 文件,您需要向 servlet 容器发出有关如何启动应用程序的不同信号。

src/main/java/hello/HelloWebXml.java

package hello;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.SpringBootServletInitializer;
public class HelloWebXml extends SpringBootServletInitializer {
  @Override
  protected void configure(SpringApplicationBuilder application) {
     application.sources(Application.class);
  }
}

将归功于第一个答案,但你们都是正确的,需要网络.xml(或 Spring-Boot 用来替换它的东西)。

我希望

在 Spring 启动应用程序启动时看到一些 INFO 输出,所以一些想法是:

尝试常规雄猫实例

  • 下载并解压缩 zip 发行版。
  • bin/startup.sh启动雄猫
  • 将您的战争复制到webapps目录
  • 检查日志...希望看到一些春天启动的证据

手动检查战争文件

  • 解压缩您的战争文件
  • 期待看到 WEB-INF/web.xml

相关内容

  • 没有找到相关文章