当前位置: 首页 > 知识库问答 >
问题:

Wicket Spring Boot. war文件部署

羊舌高峰
2023-03-14

在此示例的基础上:https://github.com/Pentadrago/spring-boot-example-wicket
并考虑到这里的jar-to-war指南:https://spring.io/guides/gs/convert-jar-to-war/
我想将我现有的Wicket Spring(使用data-jpa和安全性)转换为Spring Boot。让胖罐设置工作相当容易,但到目前为止,我不可能将此设置转换为. war文件以在Tomcat中部署。

这个问题源于对以下方面的相互矛盾的指示:

    < li >一方面,< code >从jar-to-war转换指南的非< code>@Configuration类扩展org . spring framework . boot . context . web . springbootservletinitializer , < li >而另一方面,< code >为fat-jar Wicket示例的< code>@Configuration标记的类实现org . spring framework . boot . context . embedded . servletcontextinitializer 。

我无法将两者对齐,以便在使用嵌入式容器进行调试时以及在 Tomcat 中部署为 .war 时获得一个正常工作的应用程序。

有人能告诉我如何设置一个启用了spring-boot的wicket应用程序,我可以将其部署为. war文件吗?

共有1个答案

孙才捷
2023-03-14

我做了以下事情,并让申请生效:

我看了你发布的https://github.com/Pentadrago/spring-boot-example-wicket项目的例子。

然后按照https://spring.io/guides/gs/convert-jar-to-war/指南上的代码,我所做的就是进行以下更改:

更改build。渐变到:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.0.2.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'war'

jar {
    version =  '0.0.1'
}

repositories {
    mavenCentral()
}

configurations {
    providedRuntime
}

dependencies {
    compile(
        "org.springframework.boot:spring-boot-starter",
        "org.springframework.boot:spring-boot-starter-logging",

        "org.springframework:spring-web:4.0.3.RELEASE",
        "org.apache.wicket:wicket-spring:6.15.0",
        )

    testCompile(
        "org.springframework.boot:spring-boot-starter-test",
    )

    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
}

添加以下类:

< code>HelloWebXml.java

package spring.boot.example.wicket;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;

public class HelloWebXml extends SpringBootServletInitializer {

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

我对Tomcat 7所做的修改和部署没有任何问题。

这是日志的摘录,表明邪恶开始了

<代码>2014-08-27 20:57:41.396 INFO 2708---[关于(3)-127.0.0.1]org.apache.wicket。应用程序:[wicket filter]init:wicket核心库初始值设定项

我不确定你的困惑来源是什么,但你必须明白,Spring靴服务器初始化器Servlet上下文初始化器有不同的目的。

 类似资料:
  • 另见 django.contrib.staticfiles 的用法简介,请参见管理静态文件(CSS、images)。 在线上环境部署静态文件 放置静态文件到线上环境的基本步骤很简单:当静态文件改变时,运行collectstatic 命令,然后安排将收集好的静态文件的目录(STATIC_ROOT) 搬到静态文件服务器上。取决于STATICFILES_STORAGE,这些文件可能需要手工移动到一个新的

  • 我正在完成一个项目,我必须将它部署为一个jar文件,在eclipse中它工作得很好,我的项目依赖于两个库,这两个库也都依赖于dll文件。我已经将这些DLL的路径添加到每个外部JAR的本机库位置。然后,我使用eclipse可运行的jar文件导出向导将project导出为一个jar文件我在指定的位置得到了jar文件,它运行了,但是当我单击一个调用我得到的库之一的按钮时,我得到了java.lang.Un

  • 问题内容: 我试图在jar外部的文件系统上运行带有log4j.xml文件的jar,如下所示: 我也尝试过: log4j.xml是文件,与jar(/ opt / companyName / pathToJar /)位于同一目录中,但是我仍然收到标准警告消息: 是否可以将配置文件放在jar之外,还是必须将其与jar打包在一起? TIA 问题答案: 使用开关启动可执行的jar文件时,将从jar文件的清单

  • 问题内容: 在C#.net中,有一个规定,要有两个不同的类文件,并使用关键字partial关键字使它们成为一个类。这有助于将[UI]和逻辑分开。当然,我们可以有两个类来实现这一类,一个用于UI,另一个用于逻辑。可以在Java中实现吗? 问题答案: 源文件分割 不能。Java源代码不能拆分为多个文件。 摘自Wikipedia文章 Java和C Sharp的比较 Sun Microsystems Ja

  • 我试图将WAR文件加载到Tomcat 7中,并使用eclipse启动或停止服务器。 我将war文件粘贴到TOMCAT_HOME/webapps文件夹中,启动了服务器。 服务器启动正常,我收到下面的控制台消息。 但当我试图访问我的应用程序时,它给了我错误404,找不到文件。 我查看了TOMCAT_HOME/webapps应用程序,发现了我的war文件和一个同名文件夹——“JavaServerFace

  • 我试图在我的项目pom中使用配置文件。xml文件,用于控制将我的war文件部署到特定服务器。例如,我有一个本地配置文件和一个开发服务器配置文件。下面是我如何设置个人资料的 我打电话来 当我尝试此操作时,我可以看到,它不是尝试连接到我的配置中提供的IP地址,而是尝试连接到。我在本地包含用户名和密码的文件。 如果我然后添加选项,以获得更多信息,我可以在插件的调试输出中看到(强调部分已添加) 似乎没有遵

  • 警告 该语法不属于 rst ,属于 Sphinx 的配置。 由于某些需要,需要引入外部JS、样式。 此时,你需要在 conf.py 文件中, 增加 html_js_files = ['script.js', 'https://example.com/scripts/custom.js', ('custom.js', {'async

  • 在使用WebLogic-10.3.6部署war文件时,我遇到了如下异常 *错误为weblogic.descriptor.descriptorexception:发现验证问题问题:cvc-enumeration-valid:字符串值“3.0”不是命名空间http://java.sun.com/xml/ns/javaee:*中web-app-versionType的有效枚举值 谁能告诉我问题出在哪里?