### 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的更多相关文章

  1. 如何在windows上部署war包到tomcat服务器

    一. 什么是war包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件.war专用在web方面,一个war包可以理解为一个web项 ...

  2. docker学习5-docker安装tomcat环境和部署war包

    前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [root@ ...

  3. 三种远程部署war包检测

    简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...

  4. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  5. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  6. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  7. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

  8. websphere部署war包

    通过websphere部署以及打包成war的web项目. (1)安装配置war包,部署项目 登录websphere,进入websphere主页(依次选中) Applications -->   ...

  9. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

随机推荐

  1. 可以动态增加系统的U盘启动器(基于grub)

    前言:最近面试无果,就在宿舍看那本<30天自制操作系统>,里面使用的系统文件格式是img,要在真机上运行,就需要使用U盘进行启动,因为现在都没有软盘.而网上很多都是用软件写入U盘的.反正我 ...

  2. win7下安装curl

    先去官网下载curl,地址https://winampplugins.co.uk/curl/,我下载的版本是curl_7_52_1_openssl_nghttp2_x64.然后执行curl.exe并且 ...

  3. cocos2d-x 父节点和子节点执行不同动作

    Test6::Test6() { CCSprite* sp1 = CCSprite::create(s_pPathSister1); CCSprite* sp11 = CCSprite::create ...

  4. tortisegit 创建分支和合并分支

    第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...

  5. 在腾讯开发 QQ IM 的工作体验是怎样的?

    转载 http://blog.csdn.net/kobejayandy/article/details/8685271 目录 一.引言 二.个人网站 三.Oracle/支付宝/旺旺 四.淘宝技术发展( ...

  6. iOS键盘类型以及样式展示

    UIKeyboardTypeDefault: UIKeyboardTypeASCIICapable: UIKeyboardTypeNumbersAndPunctuation: UIKeyboardTy ...

  7. 【WPF】获取下拉列表(ComboBox)的选项(ComboBoxItem)的内容

    需求:给下拉列表ComboBox注册一个选项改变时触发的事件,想要获取到当前选中的选项的内容. // 给ComboBox注册一个选项改变的事件 myComboxBox.SelectionChanged ...

  8. linu 把文件中的字母小写转换为大写,大写转换为小写awk toupper tolower

    cat aa.txt|tr "[a-z]" "A-Z" [root@ob2 mytmp]# awk '{print toupper($0)}' aa2.txt ...

  9. C++中声明与定义的区别

    如果是指变量的声明和定义: 从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存.而 定义就是分配了内存.对于下面的两句代码:void Func(){in ...

  10. DataGridView使用技巧六:冻结列或行

    一.冻结列 DataGridViewColumn.Frozen属性为true时,该列左侧的所有列被固定,横向滚动时固定列不随滚动条滚动而左右移动.这对于重要列固定很有用. 示例:通过程序固定左侧第二列 ...