我有带pom的spring boot应用程序。xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myApp</groupId>
<artifactId>myApp</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<spring.boot.version>2.0.4.RELEASE</spring.boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
</dependency>
<!--Spring-boot dependencies-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--deploy on tomcat-->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>-->
<!-- swagger to provide list available rests-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!--database connector-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--json to xml provider-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
</dependencies>
<build>
<finalName>myApp</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!--<plugin>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-maven-plugin</artifactId>-->
<!--<executions>-->
<!--<execution>-->
<!--<goals>-->
<!--<goal>repackage</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
<!--provide to split it and ut test-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
</configuration>
</plugin>
</plugins>
</build>
</project>
所以,我需要构建war并将其部署到websphere上。但部署后,会出现错误消息:
脚本计数=1048576 ************* 结束显示当前环境 ************* [9/20/18 18:35:17:893 MSK] 00000089 ecs Wcom.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR无法为资源打开输入流META-INF/版本/9/org/apache/log/log4j/util/ProcessIdUtil.class在存档WEB-INF/lib/log4j-api-2.10.0.jarjava.lang.IllegalArgumentException在org.objectweb.asm.ClassReader.(未知来源)在org.objectweb.asm.ClassReader.(未知来源)在org.objectweb.asm.ClassReader.(未知来源)allback.java:88ClassScom.ibm.ws.ssl.channel.impl.InputStream(ClassSallback.complete)在ontext.java:1833ClassScom.ibm.ws.tcp.channel.impl.InputStream(ClassSistener.future)在com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(ClassScanner.java:120)在com.ibm.ws.http.channel.inbound.impl.HttpIn边界Link.handle歧视(HttpIn边界Link.java:463)在com.ibm.ws.http.channel.inbound.impl.HttpIn边界Link.handleNewRequest(HttpIn边界Link.java:530)在com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCcom.ibm.ws.ecs.internal.scan.impl.)在com.ibm.ws.http.channel.inbound.impl.HttpICLReadCorg.objectweb.asm.(HttpICLReadCcom.ibm.ws.ecs.internal.scan.impl.)在canner.scanSSLReadServiceContext$SSLReadCompletedCcanner.java:147(SSLReadServiceCcom.ibm.ws.ecs.internal.scan.impl.)在canner.scanAioReadCompletionLcanner.java:124完成(AioReadCompletionListner. java: 175)在com. ibm. io. async AbstractAsyncFuture. java: 217)在com. ibm. io. async AsyncChannelFuture.
[9/20/18 18:35:17:904 MSK]00000089 ecs W com。国际商用机器公司ws。ecs。内部的扫描上下文impl。ScannerContextImpl scanJAR无法打开资源META-INF/versions/9/org/apache/logging/log4j/util/StackLocator的输入流。在存档WEB-INF/lib/log4j-api-2.10.0中初始化。jar java。org上的lang.IllegalArgumentException。objectweb。asm。学生。(来源不详)在org。objectweb。asm。学生。(来源不详)在org。objectweb。asm。学生。(来源不详)com。国际商用机器公司ws。ecs。内部的扫描impl。ClassScanner。com上的scanInputStream(ClassScanner.java:147)。国际商用机器公司ws。ecs。内部的扫描impl。ClassScanner。com上的scanInputStream(ClassScanner.java:124)。国际商用机器公司ws。ecs。内部的扫描impl。ClassScanner。com上的scanInputStream(ClassScanner.java:120)。国际商用机器公司ws。网络容器。网络应用。WebAppImpl。在com上扫描HandleTypesClass(WebAppImpl.java:765)。国际商用机器公司ws。网络容器。网络应用。WebAppImpl。在com上初始化ServletContainerInitializers(WebAppImpl.java:606)。国际商用机器公司ws。网络容器。网络应用。WebAppImpl。在com上初始化(WebAppImpl.java:410)。国际商用机器公司ws。运行时。组成部分合成单位。从com开始(CompositionUnitImpl.java:123)。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl。从com开始(CompositionUnitMgrImpl.java:379)。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl。在com上访问$500(CompositionUnitMgrImpl.java:127)。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl$1。在com上运行(CompositionUnitMgrImpl.java:654)。国际商用机器公司ws。安全啊。ContextManagerImpl。com上的runAs(ContextManagerImpl.java:5554)。国际商用机器公司ws。安全啊。ContextManagerImpl。在com上运行系统(ContextManagerImpl.java:5680)。国际商用机器公司ws。安全果心SecurityContext。在com上运行系统(SecurityContext.java:255)。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl。startCompositionUnit(CompositionUnitMgrImpl.java:668)位于com。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl。startCompositionUnit(CompositionUnitMgrImpl.java:612)位于com。国际商用机器公司ws。运行时。组成部分ApplicationMgrImpl。sun上的startApplication(ApplicationGrimpl.java:1303)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:90)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:55)。朗,反思一下。方法在org上调用(Method.java:508)。阿帕奇。struts。行动请求处理器。组织上的流程(未知来源)。阿帕奇。struts。行动ActionServlet。组织上的流程(未知来源)。阿帕奇。struts。行动ActionServlet。javax上的doPost(未知源代码)。servlet。http。HttpServlet。javax上的服务(HttpServlet.java:595)。servlet。http。HttpServlet。com上的服务(HttpServlet.java:668)。国际商用机器公司ws。http。频道入境。impl。HttpICLReadCallback。在com上完成(HttpICLReadCallback.java:88)。国际商用机器公司ws。ssl。频道impl。SSLReadServiceContext$SSLReadCompletedCallback。在com上完成(SSLReadServiceContext.java:1833)。国际商用机器公司ws。tcp。频道impl。AioReadCompletionListener。FutureCompletionListener(AioReadCompletionListener.java:175)网站。国际商用机器公司伊奥。异步。未来。com上的invokeCallback(AbstractAsyncFuture.java:217)。国际商用机器公司伊奥。异步。未来。fireCompletionActions(AsyncChannelFuture.java:161)位于com。国际商用机器公司伊奥。异步。未来。已在com上完成(AsyncFuture.java:138)。国际商用机器公司伊奥。异步。结果是德勒。在com上完成(ResultHandler.java:204)。国际商用机器公司伊奥。异步。结果是德勒。在com上运行EventProcessingLoop(ResultHandler.java:775)。国际商用机器公司伊奥。异步。ResultHandler 2美元。在com上运行(ResultHandler.java:905)。国际商用机器公司ws。util。线程池$Worker。run(ThreadPool.java:1892)
[9/20/18 18:35:17:911 MSK] 00000089 ecs Wmpl.scanScannerContextImpl scanJAR无法打开资源mpl.java:315的输入流存档WEB-INF/lib/com.ibm.ws.security.core.ontext.runIllegalArgumentException在ontext.java:255ClassReader.(未知来源)在com.ibm.ws.runtime.component.ClassReader.(未知来源)在mpl.startClassReader.(未知来源)在mpl.java:668ClassScom.ibm.ws.runtime.component.InputStream(ClassSmpl.start)在com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(ClassScanner.java:124)在com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(ClassScanner.java:120)在com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl.scanJAR(ScannerContextImpl.java:275)在com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextIcom.ibm.ws.ecs.internal.scan.context.impl.JAR(ScannerContextImodule-info.class)在log4j-api-2.10.0.jarSecurityCjava.lang.AsSystem(SecurityCorg.objectweb.asm.)在org.objectweb.asm.CompostionUnitMgrIorg.objectweb.asm.CompostionUnit(CompostionUnitMgrIcom.ibm.ws.ecs.internal.scan.impl.)在canner.scanCompostionUnitMgrIcanner.java:147CompostionUnit(CompostionUnitMgrI生成的方法访问89.调用(未知来源)在sun.反射。在java. lang.反射中委托方法访问IMP.调用(委托方法访问IMP. java: 55)。在sun.反射. misc中调用方法(Method. java: 508)。在javax. Management. Modelmbean中调用(确知. java: 287)。在java. security. java: 1263)。在java. security。AccessController. doPrivileged(AccessController. java: 664)在java. security。保护域$JavaSecurityAccessInp. doIntersectionPrivilge(保护域. java: 91)在javax. Management. Modelmbean。在javax.HttpServlet. service(HttpServlet. java: 668)在com. ibm. ws. web容器. servlet。ServletWrapper. service(ServletWrapper. java: 1233)在com. ibm. ws. web容器. servlet。ServletWrapper. handleRequest(ServletWrapper. java: 782)在com. ibm. ws. web容器. servlet。ServletWrapper. handleRequest(ServletWrapper. java: 481)在com. ibm. ws. web容器. servlet。ServletWrapperInpli. handleRequest(ServletWrapperInpli. java: 178)在com. ibm. ws. http. Channel. inlimited. imp。HttpInancleLink. handle歧视(HttpInancleLink. java: 463)在com. ibm. ws. http. channel. inancl。HttpICLReadCallback.完成(HttpICLRe
[9/20/18 18:35:36:921 MSK]00000089 FFDCW com。国际商用机器公司ws。ffdc。impl。FfdcProvider logIncident FFDC1003I:在/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/FFDC/server1_49377909_18.09.20_18.35.36.9168814475377962815599上发出的FFDC事件。txt com。国际商用机器公司ws。网络容器。网络应用。网络组131[9/20/18 18:35:36:924 MSK]00000089 webapp E com。国际商用机器公司ws。网络容器。网络应用。WebGroupImpl WebGroup SRVE0015E:未能初始化Web应用程序Tomcat主机管理器springboot。应用程序[9/20/18 18:35:36:929 MSK]00000089已部署应用程序W WSVR0206E:模块,SBRISKDATASVC。战争,应用程序,我的应用程序。ear/deployments/myApp,未能启动[9/20/18 18:35:36:932 MSK]00000089应用程序MG W WSVR0101W:启动时出错,myApp[9/20/18 18:35:36:932 MSK]00000089应用程序MG A WSVR0217I:停止应用程序:myApp[9/20/18 18:35:36:942 MSK]00000089应用程序MG A WSVR0220I:应用程序停止:myApp[9/20/18 18:35:36:945 MSK]00000089合成UN E
WSVR0194E:合成单元WebSphere:cuname=myApp in BLA WebSphere:blaname=myApp未能启动。[9/20/18 18:35:36:955 MSK]00000089 FFDCW com。国际商用机器公司ws。ffdc。impl。FfdcProvider logIncident FFDC1003I:在/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/FFDC/server1_49377909_18.09.20_18.35.36.9468746152542961403991上发出的FFDC事件。txt com。国际商用机器公司ws。运行时。组成部分CompositionUnitMgrImpl 679[2018年9月20日18:35:36:970 MSK]00000089 FfdcProvider W com。国际商用机器公司ws。ffdc。impl。FfdcProvider logIncident FFDC1003I:FFDC事件在/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/FFDC/server1_49377909_18.09.20_18.35.36.9567976105862242199088上发出。txt com。国际商用机器公司ws。经营AdminServiceImpl。invoke 679[9/20/18 18:35:36:971 MSK]000000 89 MBeanHelper E无法调用对象上的操作:WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=wasNode01,version=8.5.5.13,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=wasNode01Cell,spec=1.0,因为mbean异常:com。国际商用机器公司ws。例外RuntimeWarning:com。国际商用机器公司ws。网络容器。例外WebAppNotLoadedException:未能加载webapp:未能加载webapp:java。lang.LinkageError:重写方法时加载约束冲突
如何解决这个问题?
这是由于扫描META-INF文件夹下的包,webshpere尝试将META-INF/*作为包匹配,以搜索扫描JARs下的正常包。您需要在C:\Program Files\IBM\WebSphere\AppServer\properties\amm下为这些包配置忽略扫描包。滤器属性
例如,如下所示:
基本上,在各种编辑过程中,您删除了第一篇帖子中的原始错误消息:
SRVE0164E: Web Application MyApp_war#Tomcat Host Manager springboot.Application uses the context root /*, which is already in use by Web Application DefaultApplication#Default Web Application. Web Application Tomcat Host Manager springboot.Application will not be loaded.
这解释了所有:
您不能将两个应用程序映射到/
上下文,因此请更改已安装的DefaultApplication或您的应用程序的上下文。
我已经制作了我的网络应用程序,我想把它放在互联网上。我听说用户可以使用 .war 文件在 cPanel 中部署 Web 应用程序。我一直在搜索这个,任何类型的教程或任何有关如何做到这一点的信息。但是没有一个真正告诉你如何做到这一点,你只会找到关于如何在Tomcat或Glassfish上部署的教程。我在这里错过了什么点吗?一旦我的 Web 应用程序打包为 .war 文件,我如何将它放到互联网上?如果
本文向大家介绍怎么将 SpringBoot web 应用程序部署为 JAR 或 WAR 文件?相关面试题,主要包含被问及怎么将 SpringBoot web 应用程序部署为 JAR 或 WAR 文件?时的应答技巧和注意事项,需要的朋友参考一下 通常,我们将 web 应用程序打包成 WAR 文件,然后将它部署到另外的服务器上。这样做使得我们能够在相同的服务器上处理多个项目。当 CPU 和内存有限的情
完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。
我无权访问weblogic.deployer和web管理GUI(如果Linux服务器版本中存在) 我可以在weblogic(windows版本)中部署WAR文件。应用程序文件应该可以。