我遇到了一个与Gradle 4.8.1建立战争的问题。这是构建。格拉德尔:
buildscript {
ext {
springBootVersion = '2.0.3.RELEASE'
}
repositories {
jcenter()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
}
}
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
archivesBaseName = 'sample'
//war {
// archiveName = 'sample.war'
// group = 'my.group'
// version = '2.0.0-SNAPSHOT'
//}
sourceCompatibility = 1.8
repositories {
jcenter()
maven { url "${nexusUrl}/content/groups/public" }
}
dependencies {
// Spring
compile 'org.springframework.boot:spring-boot-starter-actuator'
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'org.springframework.boot:spring-boot-starter-log4j2'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
compile 'org.springframework.boot:spring-boot-starter-web'
testCompile 'org.springframework.boot:spring-boot-starter-test'
// Lombok
compile "org.projectlombok:lombok:1.18.0"
// Data
compile ('org.postgresql:postgresql') {
exclude module: 'slf4j-simple'
}
// Http
compile "org.apache.httpcomponents:httpclient:4.5.5"
}
configurations {
all*.exclude module: 'spring-boot-starter-logging'
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "${nexusUrl}/content/groups/public/") {
authentication(userName: nexusUsername, password: nexusPassword)
}
snapshotRepository(url: "${nexusUrl}/content/repositories/snapshots") {
authentication(userName: nexusUsername, password: nexusPassword)
}
pom.version = '2.0.0-SNAPSHOT'
pom.artifactId = 'sample'
pom.groupId = 'my.group'
}
}
}
我还尝试删除“maven”插件、archivesBaseName和uploadArchive任务,同时取消对war任务的注释,得到了相同的结果。使用uploadArchive时,war可以很好地部署到nexus服务器,我没有发现任何错误。在将war部署到tomcat(在这两种情况下)时,tomcat 7和8不会抛出错误,我也不会收到来自catalina或项目的日志,尽管war任务中的archiveName不会正确重命名war。我在另外两台机器/tomcat实例上尝试过这个方法,结果相同。当将其构建为胖jar或在IntelliJ中运行时,一切都按预期工作(包括日志记录)。
任何帮助或指导将不胜感激。
我也面临着同样的问题。问题是当war部署在tomcat上时,Spring应用程序不会初始化。
经过很多努力,我发现我需要在我的应用程序中扩展SpringBootServletInitializer。所以我的有效代码看起来像
public class SyncApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SyncApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SyncApplication.class, args);
}
}
看起来,SpringBootServletializer引导war插件在构建war时生成引导代码,因此在部署应用程序时初始化spring上下文。
听起来它根本没有初始化servlet。请确保为WAR部署扩展SpringBootServletLaunalizer。
我正在寻找一种方法,可以在我选择的时候将战争工件部署到IntelliJ启动的Tomcat中。我有一个项目,它的配置启动了Tomcat8服务器并部署了一些工件。LaterI现在希望将更多来自不同项目的工件部署到同一个IntelliJ启动的Tomcat中。 步骤:启动包含Tomcat的项目 步骤:从另一个IntelliJ-project(从IDE内)部署war 步骤:从IntelliJ部署另一个war
我用命令运行了一个spring boot web应用程序。但是,当将打包字段更改为war(在pom.xml中)并将其构建为war时,它未能在tomcat 7中运行。 我把我pom.xml的父母变成: 而且: 我的错误是: 我的问题是: 这里发生了什么,如何克服? 使用Spring-start真的安全吗?因为嵌入式服务器库似乎影响了它部署到j2ee容器中的可靠性。我知道,它仍然是Milestone版
我遵循spring boot参考文档,分两步创建一个可执行和可部署的war: 在pom文件中,制作一个war包,并提供spring boot starter tomcat范围 使应用程序类扩展SpringBootServletializer并重写configure方法 然后将war文件复制到{jetty_home}/webapps。 我试着重新启动jetty服务器,似乎战争加载了以下信息 Visi
我试图调试将现有spring boot应用程序部署为应用程序时出现的问题。war文件,即使在最小的情况下也无法使其工作。 具体而言,我: 跟随https://spring.io/guides/gs/spring-boot/至此,我可以成功运行jar文件并使用curl连接到它 跟随https://docs.spring.io/spring-boot/docs/current/reference/ht
我在使用WAR文件将web应用程序从Eclipse部署到Linux上的Tomcat服务器时遇到了问题。我使用的是Tomcat 7.0.53。在本地部署时,我可以创建指定的文件夹路径,这些路径放入文件夹共享中,并将文件放置在这些位置。当试图通过Tomcat服务器上部署的WAR执行这些过程时,不会创建该文件夹共享中的目录,也不会放置文件。通过日志记录,我知道这些文件夹目标和文件是创建的。这背后有什么可
在Ubuntu 16.04上,我使用以下命令停止tomcat7服务器: 然后我创建了一个war文件,如下所示: 我将war文件复制到webapps目录: 我使用命令:sudo service tomcat7 start调出tomcat 这样,下面的url显示服务器正在工作: 据我所知,下面的URL应该转到. war文件localhost:8080/test 它不起作用。(404错误)我做错了什么?