### 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. 使用Scala编写Spark程序求基站下移动用户停留时长TopN

    使用Scala编写Spark程序求基站下移动用户停留时长TopN 1. 需求:根据手机基站日志计算停留时长的TopN 我们的手机之所以能够实现移动通信,是因为在全国各地有许许多多的基站,只要手机一开机 ...

  2. Object.defineProperty()属性设置介绍

    注释: 本文宅自https://segmentfault.com/a/1190000007434923,仅学习方便,没有任何商业用途 对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的 ...

  3. VC++编程之道读书笔记(2)

    第三篇 技术细节 第七章:细说开发人员必知必会的39个开发细节 细节36:单例模式的应用 在开发程序时,往往需要在整个工程中只需要一个类的实例.而这个实例一旦被创建就不能被其他的实例再创建了,通常我们 ...

  4. Makefile学习之路——1

    编写makefile,不是一个猛子扎进去试着写一个规则并对之调试,而应该先采用面向依赖关系的思考方法勾勒出makefile要表达怎样的依赖关系,这一点尤为重要.通过不断地练习这种思考方法,才可能达到流 ...

  5. python 字符和数值转换

    # python 字符和数值转换 ### 字符转数值------------------------------ ord('A') ==> 65- ord('B') ==> 66- ord ...

  6. jquery超炫的列表筛选插件

    今天要为大家带来一款非常实用的jquery列表筛选插件,效果非常好.单击某项的时候动画筛选该项的列表.我们一起看下效果图: 在线预览   源码下载 我们一起看下实现的代码: html代码: <d ...

  7. 在centos中安装mangodb

    1.下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_6 ...

  8. C++ - 动态申请数组空间

    // 用指针p指向由new动态分配的长度为length*sizeof(int)的内存空间. int * p = new int[length];

  9. 深入理解Java虚拟机 -- 读书笔记(1):JVM运行时数据区域

    深入理解Java虚拟机 -- 读书笔记:JVM运行时数据区域 本文转载:http://blog.csdn.net/jubincn/article/details/8607790 本系列为<深入理 ...

  10. Android——数据存储:手机内部存储

    存取字符串和存取图片不相同 xml <EditText android:layout_width="match_parent" android:layout_height=& ...