weblogic安装部署war包——windows
### weblogic安装部署war包——windows
#### 下载weblogic安装包
[csdn下载地址](https://download.csdn.net/download/luozhuang/10558048)
[官网下载地址](https://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html)(这是快速安装版)
#### 安装weblgic
参考[WebLogicServer12.2.1.3服务器安装配置步骤详解](https://jingyan.baidu.com/article/4d58d54164eff49dd4e9c095.html)
**注意**
安装weblogic的jar包需要放置在jdk的home路径下,然后cd到该路径,在执行该jar。不然在执行java-jar命令时报错不是有效的 JDK Java 主目录。
#### weblogic部署普通war包
[weblogic使用方法]()
**注意**
这里不需要额外的配置,直接将打好的包上传即可。部署成功之后访问路径为**http://ip:端口号/上下文根**。上下文根一般指war包名称
#### weblogic部署springboot的war包
**注意,这里指的是纯springboot,不确定自己的项目部是不是纯springboot的时候,就用上面的方式**
[参考网址](https://blog.csdn.net/wonderful_life_mrchi/article/details/77915757)
修改项目的pom文件改为打war包,并排除到springboot-start-web中的tomcat,加上单独的tomcat,设置域为provided
<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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
**实现WebApplicationInitializer**,入口类继承SpringBootServletInitializer类并实现WebApplicationInitializer类,然后重写configure方法。直接复制改方法即可。最后打成war包部署。
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.web.WebApplicationInitializer;
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
@Override
public SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
#### 可能会出现的问题
##### 问题一 XXXX.<init>()
<2019-4-19 下午11时21分13,962秒 CST> <Error> <Console> <BEA-240003> <Administrat
ion Console encountered the following error: weblogic.application.ModuleExceptio
n: java.lang.NoSuchMethodException: com.famessoft.oplus.cac.CacApp.<init>()
at weblogic.application.internal.ExtensibleModuleWrapper.start(Extensibl
eModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
ListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:233)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:228)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:45)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
eDriver.java:78)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
ulesFlow.java:52)
**解决方法**
**这是因为我的项目不是纯正的springboot项目,这是用Jhipster自动创建的。所以不能用weblogic部署springboot项目的方法来部署。这样就会画蛇添足,直接用原来的包即可**
##### 问题二 java.lang.ClassNotFoundException: com.querydsl.core.dml.UpdateClause
<2019-4-19 上午12时48分47,065秒 CST> <Warning> <Deployer> <BEA-149004> <Failures
were detected while initiating deploy task for application "oplus-cac".>
<2019-4-19 上午12时48分47,067秒 CST> <Warning> <Deployer> <BEA-149078> <Stack tr
ace for message 149004
weblogic.management.DeploymentException: java.lang.ClassNotFoundException: com.q
uerydsl.core.dml.UpdateClause
at weblogic.application.internal.BaseDeployment.throwAppException(BaseDe
ployment.java:132)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.j
ava:244)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleMo
duleDeployment.java:52)
at weblogic.application.internal.DeploymentStateChecker.prepare(Deployme
ntStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(App
ContainerInvoker.java:65)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: com.querydsl.core.dml.UpdateClause
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
ClassLoader.java:1029)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClass
Loader.java:990)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAw
areClassLoader.java:104)
at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericCla
ssLoader.java:611)
**解决方法**
**这是因为我们的项目引用了jpa相关的包没有被加载到,weblogic找不到这个包。需要把 `querydsl-core-4.1.4.jar`和`querydsl-jpa-4.1.4.jar`这两个包放到`D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\lib`(weblogic的home目录下)。经反复测试,不需要像网上说的添加weblogic.xml或者其他设置。。**
pom文件即
<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-jpa -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.1.4</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
</dependency>
weblogic安装部署war包——windows的更多相关文章
- 如何在windows上部署war包到tomcat服务器
一. 什么是war包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件.war专用在web方面,一个war包可以理解为一个web项 ...
- docker学习5-docker安装tomcat环境和部署war包
前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [root@ ...
- 三种远程部署war包检测
简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...
- 如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...
- tomcat本地部署war包的方式
最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- websphere部署war包
通过websphere部署以及打包成war的web项目. (1)安装配置war包,部署项目 登录websphere,进入websphere主页(依次选中) Applications --> ...
- Docker容器Tomcat部署war包
在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run -d --nam ...
随机推荐
- Windows下打造Sublime Text + Tex Live环境
一直在用Sublime Text + ctex集成环境编写Latex文档,最近发现ctex套件内嵌的MiKTeX包管理器功能太弱了,遂将目标转向了功能更加强大的Tex Live环境. 首先安装Tex ...
- Java中instanceof关键字的理解
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: res ...
- maven(2)------maven构建项目
一 下载maven 官网地址: http://maven.apache.org/download.cgi 如图: 可以下载历史版本. 二 windows下maven配置 1. 解压下载后的包,解压后 ...
- Exception时信息的记录
系统总有出现异常的时候,那么出现异常时应该如何处理? 一直以来,我都以为这么处理就足够的: 在日志中打印Exception的堆栈信息,以便排查原因 反馈给用户系统xxx出现问题 package com ...
- Linux下安装Python3.6和第三方库
如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装p ...
- LeetCode: Word Search 解题报告
Word SearchGiven a 2D board and a word, find if the word exists in the grid. The word can be constru ...
- PowerShell中进行文件读取,信息排序,分类计数。
这是国外某大学QA的一道作业题,读取mainlog文件中的每一行信息,并获取有效的信息,也就是每条信息中第四个@后面的内容,然后进行分类与计数,要求是用Perl写,但我是用PowerShell完成的, ...
- ID、Class和标签选择器优先级
按一般论:ID > Class > 标签 1.如以下样式: <div id="id" class="class">选择器优先权</ ...
- C++ - 动态申请数组空间
// 用指针p指向由new动态分配的长度为length*sizeof(int)的内存空间. int * p = new int[length];
- 3dMax常见问题
误关掉了命令面板顶部菜单栏[自定义]->[显示UI]->勾选上命令面板 调整右侧命令面板的位置鼠标放在命令面单顶部,当显示两个长方形时,可以鼠标左键拖动. 命令面板拖动后可以停 ...