admin管理员组

文章数量:1530987

由于近期项目需要,这里记录一下Win Server 2012 R2系统上搭建JAVA WEB所需的所有软件插件安装过程,以及安装与工程编译过程中遇到的所有问题,便于后续归档查询。

安装清单:
JAVA安装包JAVA JDK 1.8.0、JAVA开发环境(编译器)IDEA 2020 、数据库Oracle 11g R2、数据库可视化Navicat Premium 15PLSQL Developer、数据库驱动ojdbc7.jar、消息队列(MQ)服务器RabbitMQ 3.7.7、JAVA管理工具Maven 3.6.0

Win Server 2012 R2上搭建JAVA WEB超详细安装教程

    • 1、JAVA环境安装教程
      • (1)、JAVA JDK下载与安装
      • (2)、环境变量配置
    • 2、JAVA集成开发环境IDEA安装教程
      • (1)、简单安装
      • (2)、问题记录与总结
    • 3、Oracle数据库安装教程
      • (1)、Oracle 11g R2安装与创建新数据库
      • (2)、可视化工具Navicat安装与连接数据库
      • (3)、问题记录与总结
    • 4、项目管理工具Maven安装教程
      • (1)、Maven安装
      • (2)、问题记录与总结
    • 5、消息队列服务器RabbitMQ安装教程
      • (1)、RabbitMQ安装
      • (2)、RabbitMQ用户管理,角色管理及权限设置
    • 6、JAVA WEB项目工程问题记录与总结

1、JAVA环境安装教程

作为初学者,要想学习Java语言,第一件事情就是要让电脑上具备Java环境。

(1)、JAVA JDK下载与安装

首先去JAVA官网下载JAVA JDK安装包。
官网链接:https://www.oracle/technetwork/java/javase/downloads/index.html

选择JAVA版本,之后点击JDK Download跳转到下载页面,按照自己电脑的系统版本选择对应的安装包。


之后打开下载好的安装包,双击打开进行安装。
这里我默认安装到C盘(安装路径可以修改),直接点击下一步,直至安装成功。

问题记录-01 -------------------------------------------------------------------------------------------------------
win server 2012 R2系统在安装软件时一直卡在:应用程序正在为首次使用做准备。
解决方法:直接把installer Coordinator禁用即可。

步骤:打开组策略,按照下图选项进行选择:

选择启用即可。

(2)、环境变量配置

点击 我的电脑 ——> 右键 ——> 选择属性 ,点击“高级系统设置”,
或者 控制面板——>系统和安全——>系统 也可以找到“高级系统设置”。

点击环境变量后,新建JAVA_HOME系统变量,在弹出的“新建系统变量”对话框中的“变量名”填入 :JAVA_HOME ,“变量值 ”填入 :C:\Program Files\Java\jdk1.8.0_111(安装Java时JDK所在的文件夹路径)。

注意:如果已经存在JAVA_HOME的,那么就在它的变量值的最后面加上分号(即;),然后再将JDK的路径添加在这个分号的后面。

之后新建CLASSPATH系统变量,“变量名”填入:CLASSPATH,“变量值 ”填入:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar.; 也要放进去)

注意:如果已经存在CLASSPATH,则在它的最前面或者最后面添加变量值,如果在最前面添加,应该先添加一个分号(即),然后再在分号前面添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar.; 也要放进去);如果在最后面添加,也应该先添加一个分号(即),再在分号后面添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar.; 也要放进去)。

打开Path系统变量,点击新建按钮,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意:从分号分开作为两行)。

最后按住Window+R ,输入cmd,在命令行中分别输入java和javac(可以不区分大小写) ,如果出现界面如下图则证明Java环境已经配置成功。

2、JAVA集成开发环境IDEA安装教程

在官网下载ideaiu软件,我下载的是ideaIU-2020.1.1.exe版本,双击进行安装,初次会先进行解压。
网址链接:https://www.jetbrains/?_ga=2.107368257.2140305716.1594362226-176188705.1594362226

(1)、简单安装

在安装界面上点击下一步,选择软件安装路径,默认的安装路径是C盘,可以自行选择调整。
点击下一步,直至安装成功。

安装结束后打开软件需激活,这里我是在官网上注册的科研人员JetBrains账号,可以免费使用并激活软件。

(2)、问题记录与总结

这里记录一下IDEA编辑器在使用过程中的一些问题解决措施:

问题记录-02 -------------------------------------------------------------------------------------------------------
如何显示其他视图窗口,例如Maven?
IDEA刚打开创建新项目时未发现maven视图,解决方法为:
View–> Tool Windows–> Maven

问题记录-02 -------------------------------------------------------------------------------------------------------

Cannot resolve method 'setxxxxxxx'

java8开始支持的lombok插件,可以在定义DTO实体对象时不写get和set方法,只定义变量字符串。虽然运行没有问题,但是编译时会提示找不到get与set函数,错误信息“Cannot resolve method ‘setxxxxxxx’”,要消除这个错误提示,需要安装lombok插件。

安装方法为:
file->settings->plugins,在仓库中搜索lombok安装,重启IEDA。

问题记录-03 -------------------------------------------------------------------------------------------------------
IDEA项目名中出现括号应如何修改?
当在文件夹下修改IDEA项目名或模块名后,再次打开工程后会发现出现两个名称,新修改的名称在方括号里。例如下图所示:

这时候需要在IDEA中对项目与模块名称进行修改:
步骤:File→Project Structure→project:修改Project name

同时选Modules:修改Name,最后点Apply。

另外一种修改方式也可以将鼠标放在项目名上面,鼠标右击选Refactor→Rename,修改名字即可。

问题记录-04 -------------------------------------------------------------------------------------------------------
IDEA应如何重命名Package(包)?
步骤:在目录树中选中要修改的包,单击鼠标右键弹出列表菜单,选中“Refator”,在出现的右侧列表中选中“Rename…”。在弹出的对话框中,选择“Rename package”。

之后会弹出修改框,在修改框中输入新的包名,然后点击“Refactor”。

包重命名完成,涉及到包的调用的地方也会自动完成更新,例如:

问题记录-05 -------------------------------------------------------------------------------------------------------
IDEA导入github上的项目时,pom.xml文件的文件名变黄,不能commit file提交到本地仓库。

当项目中的.java文件修改后会变为绿色,正常情况下右键Git后commit file提交到本地仓库后会变为黑色,但我之前有遇到新增文件名变黄,这是因为从GitHub上克隆下来的项目没有放入版本库,所以不让提交。
步骤:右击Git——>Add,就可以Commit File了。

问题记录-06 -------------------------------------------------------------------------------------------------------
IDEA右键没有Git或svn处理方法:
步骤:VCS—>Enable Version Control Integration,选择要关联的版本工具,例如Git。

3、Oracle数据库安装教程

(1)、Oracle 11g R2安装与创建新数据库

根据自己操作系统的位数(32位或64位),到官网下载相应的安装程序。
官网链接:https://www.oracle/index.html


下载完成后,将2个压缩文件一起选中,鼠标右键—>解压文件,两个压缩文件解压到同一目录下。
需要注意的是,路径名称中最好不要出现中文、空格等不规则字符。

单击解压目录下的setup.exe,双击开始安装oracle。之后出现如下界面,可以填写自己的邮件地址接收一些邮件,并根据自己的情况确定是否希望通过My Oracle Support (这里我取消了这个对勾),然后点击进入下一步。

在“选择安装选项”界面选择“创建和配置数据库”选项,然后点击下一步,如图所示。

如果是windows 7或windows 10等系统,在如图所示的“系统类”界面下选择“桌面类”,如果是windows server 系列的服务器系统,需要选择“服务器类”,然后单击“下一步”安装。

进入“典型安装配置”界面,根据个人需要更改各项路径(建议采用默认项)。
随后输入数据库名称以及管理口令并确认,口令要求至少包含大小写字母和数字的复杂密码形式,但是可以根据个人情况输入自己好记的口令(例如123456)。之后会弹出一个提示框提示密码不合规,直接点击“是”,然后进行下一步。
之后进入“先决条件检查”界面,这一步会检查计算机的软硬件系统是否满足安装此Oracle版本的最低要求,可以直接选择下一步。

之后在“概要”界面中,显示安装信息的概要情况,然后点击“完成”按钮,等待程序的安装。
程序文件安装完成后会进入自动配置界面,如图所示:

配置完成后会出现一些信息提示,如需要此时进行账户解锁及口令管理,单击“口令管理”按钮,根据个人需要选择是否解锁某一账户,并设置口令,这里我将SYSTEM、SYS、SCOTT账户解锁,最后单击“确定”按钮。

等待Oracle的继续配置,完成后将显示相应的完成信息,至此数据库安装过程就结束了。

这里记录一下Oracle 11g R2在安装过程中的一些问题解决措施:

问题记录-07 -------------------------------------------------------------------------------------------------------
环境不满足最低要求的处理方法
首先,打开解压后的database文件夹,找到stage->cvu->cvu_prereq.xml文件,用notepad++ 或者记事本打开,增添下面内容:

<OPERATING_SYSTEM RELEASE="6.2">
           <VERSION VALUE="3"/>
           <ARCHITECTURE VALUE="64-bit"/>
           <NAME VALUE="WindowsServer2012R2"/>
           <ENV_VAR_LIST>
               <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
           </ENV_VAR_LIST>
</OPERATING_SYSTEM>

如果你的电脑是32位,则改成32-bit,如果是其他系统,就改为Windows 10Windows 7,改动后保存。
重新点击setup.exe就不会出项这个错误提示了。

问题记录-08 -------------------------------------------------------------------------------------------------------
安装Oracle 11g R2的过程中提示:

未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\
oc4j_applications\applications\WFMLRSVCApp.ear

解决办法:
将win64_11gR2_database_2of2中的\win64_11gR2_database_2of2\database\stage\Components*
拷贝到\win64_11gR2_database_1of2\database\stage\Components目录下即可。

(2)、可视化工具Navicat安装与连接数据库

Navicat安装很容易,这里不再赘述。安装完毕后可以新建数据库连接检测一下安装是否存在问题。

首先选择连接,选择Oracle数据库,会弹出一个新建连接的对话框。

这里连接名可以自己设定,主机输入localhost,服务名为安装Oracle时创建的数据库的“全局数据库名”,用户名与密码为数据库的root用户名与口令(第一次连接时可以使用已解锁的SYSTEM根用户,因此这里的用户名为SYSTEM)如下图所示:

点击确定后就建立了Oracle数据库连接,正确连接时会在左侧显示红色图标。
之后可以在数据库中创建新的用户与表空间,在常规栏设置用户名与密码等配置项,在成员属于栏选择管理员DBA,如下图所示:

(3)、问题记录与总结

这里记录一下Navicat在数据库连接过程中遇到的一些问题以及解决措施:

问题记录-09 -------------------------------------------------------------------------------------------------------
ORA-12523: TNS:监听程序无法找到适用于客户机连接的例程

当一台电脑上进行了两个数据库安装后,我试图用Navicat访问任意一个本地的Oracle 11g数据库时,都出现了此问题。问题的原因是Net Manager的监听程序中没有配置该数据库的数据库服务。

打开Net Manager,在监听程序中选择LISTENER,之后在界面右上方选择“数据库服务”,之后对数据库名称与路径进行配置,如果有多个数据库就点击“添加数据库”分别进行数据库配置:

问题记录-10 -------------------------------------------------------------------------------------------------------
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

第一天正确安装oracle数据库后能够正确连接数据库。但第二天重新开机后发现无法正常运行生产环境,提示ORA-12514错误。可以进行如下几个步骤的试错解决:

----->解决方法1:
点击计算机右键,选择管理,到服务和应用程序下点击服务项,双击进入,启动所有关于oracle的服务项,尤其是监听服务,如下图:

之后重新连接PL/SQL或者Navicat,问题解决。

----->解决方法2:
如果方法1尝试过后依旧无法连接数据库,可以考虑监听文件是否正确配置。
到oracle数据库的安装目录下,找到监听文件listener.ora,添加或修改SID_NAME名称为自己数据库的“全局数据库名”,如下图所示:

重启数据库服务器,在SQL Plus中启动数据库,输入用户名与密码查看是否能正确连接:

4、项目管理工具Maven安装教程

在官网下载Maven安装包:
Maven官网链接:http://maven.apache/download.cgi

(1)、Maven安装

下载后解压到自己想安装的目录,添加Maven的系统变量:
MAVEN_HOME : D:\ProgramFiles\apache-maven-3.6.3 (压缩后文件夹所在路径)
在系统变量path中添加%MAVEN_HOME%\bin

打开cmd命令窗口,输入mvn -v,如果显示界面如下,则证明已安装成功。

之后在IDEA工程中,将User settings改为Maven安装目录下的settings.xml所在路径:

(2)、问题记录与总结

下面记录一下Maven使用过程中遇到的一些问题:

问题记录-11 -------------------------------------------------------------------------------------------------------

[ERROR] Failed to execute goal on project xxl-job-admin: 
Could not resolve dependencies for project com.xuxueli:
xxl-job-admin:jar:2.1.2-SNAPSHOT: 
Failed to collect dependencies at com.xuxueli:
xxl-job-core:jar:2.1.2-SNAPSHOT:
 Failed to read artifact descriptor for com.xuxueli:xxl-job-core:jar:2.1.2-SNAPSHOT: 
 Could not find artifact com.xuxueli:xxl-job:pom:2.1.2-SNAPSHOT -> [Help 1]

当我在IDEA工程中打包子项目时遇到了上述问题,这个错误引起的原因是,在maven仓库中寻找xxl-job-core的jar包依赖时,发现它里面的pom文件中定义了它的父工程xxl-job,如下代码。但在install子项目xxl-job-core时,没有把父工程xxl-job也安装到maven仓库,此时当然会找不到xxl-job项目的坐标。

<groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId>
<version>2.1.2-SNAPSHOT</version>

解决方案:手动把父工程xxl-job的pom项目安装到maven仓库,根据父工程坐标创建目录路径,例如com/xuxueli/xxl-job/2.1.2-SNAPSHOT,并将父工程的pom文件拷贝至路径下,并修改pom文件的后缀为pom。

如果先打子包依赖,就会存在上述问题。最简单的办法就是在项目总工程下面直接执行mvn package ,下面所有的子项目都会根据配置的插件和打包类型,自动输出在指定的位置。

问题记录-12 -------------------------------------------------------------------------------------------------------
maven如何手动将jar包放到本地仓库?

Missing artifact com.oracle:ojdbc7:jar:12.1.0.2

IDEA项目在打包后报错如上,原因是我之前下载的ojdbc7.jar包没有使用maven依赖去管理,而是直接丢在了项目的lib里面,这样导致本地程序可以使用jdbc,一旦打包就会报错,因此这里需要使用maven去配置本地仓库。

解决步骤:首先查看Maven是否已正确安装配置,之后在JDBC数据库驱动官网上下载ojdbc7.jar
JDBC Driver 官网链接:
https://www.oracle/database/technologies/appdev/jdbc-ucp-183-downloads.html

将ojdbc7包放在任意目录下,cmd打开命令窗口后执行如下代码:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=ojdbc7.jar

如显示如下,则已成功导入本地仓库:

并在刚才配置的目录下会出现如下文件:

最后可以在pom.xml文件中通过以下依赖在项目中引入ojdbc7.jar包,如下所示:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>${ojdbc.version}</version>
</dependency>

问题记录-13 -------------------------------------------------------------------------------------------------------

DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException: 
no sigar-amd64-winnt.dll in java.library.path

使用Maven打包后报错如上,错误原因是因为JAVA运行库中缺少sigar-amd64-winnt.dll文件。
解决方法:
搜索下载hyperic-sigar文件,在\sigar-bin\lib找到sigar-amd64-winnt.dll文件。
将sigar-amd64-winnt.dll放到JAVA JDK安装目录下的bin目录下即可。

5、消息队列服务器RabbitMQ安装教程

(1)、RabbitMQ安装

RabbitMQ是一个实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),采用Erlang语言编写,是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。
官方链接:https://www.rabbitmq/

由于Rabbit MQ 是建立在Erlang OTP平台上的,因此首先需要安装Erlang:
官网下载链接:https://www.erlang/downloads

这里我选择了OTP 21.0.1 Windows 64-bit Binary File版本。下载后双击exe进行安装,安装完成后添加Erlang的系统变量:ERLANG_HOME C:\Program Files\erl10.0.1 (Erlang所在的安装路径)
并在系统变量path中添加%ERLANG_HOME%\bin

打开cmd命令框,输入erl,如能正确显示版本信息则证明安装正确:

之后开始安装RabbItMQ,官网的解压缩安装地址为:http://www.rabbitmq/install-windows-manual.html
这里我使用了rabbitmq-server-windows-3.7.7版本,将其解压缩至D:\Program Files目录下,
之后添加RabbItMQ的系统变量:RABBITMQ_SERVER C:\Program Files\rabbitmq_server-3.7.7 (RabbItMQ所在的解压缩路径)
并在系统变量path中添加%RABBITMQ_SERVER%\bin

之后测试RabbitMQ是否已安装成功,打开cmd命令框,切换至D:\Program Files\rabbitmq_server-3.7.7\sbin安装目录下,输入rabbitmqctl status查看RabbitMQ的启动状态。
如果显示如下,则代表RabbitMQ未启动:

需安装插件,执行命令:rabbitmq-plugins.bat enable rabbitmq_management
如果出现下面信息则代表插件安装成功:

最后启动RabbitMQ服务,依旧在安装目录下输入命令:rabbitmq-server.bat,显示如下:

RabbitMQ服务启动成功后,在浏览器中登陆RabbitMQ管理后台:http://localhost:15672
RabbitMQ安装完成后,会有一个默认用户:用户名:guest,密码:guest
进入RabbitMQ管理控制台之后可以再添加自己的用户信息。

此时打开cmd,再次输入命令:rabbitmqctl status,如能正确显示连接信息,则证明RabbitMQ的安装部署完成了。

(2)、RabbitMQ用户管理,角色管理及权限设置

在实际的使用过程中,不可能只存在这一个默认的访客用户,需要新建一个用户给到开发人员使用。
可以通过管理后台新建用户:

RabbitMQ中主要有administrator,monitoring,policymaker,management,impersonator,none几种用户角色。
如果想要修改用户角色,鼠标点击刚才新建的用户名,在页面中更新用户信息,设置用户角色:


下面通过设置用户可以访问的Virtual Host,来设置用户权限,进而实现新建队列与消息发布。

6、JAVA WEB项目工程问题记录与总结

在JAVA WEB项目工程的编译过程中遇到了很多零碎问题,这里进行详细记录存档,后续会持续更新:

问题记录-14 -------------------------------------------------------------------------------------------------------

java.ConnectException: Connection refused

这是一个连接被拒绝的报错,一般错误原因是端口号被占用,或者在启动本次 Tomcat 服务器之前“关闭”的 Tomcat 服务器没有被彻底关闭,才导致该错误的发生。
解决方法:
(1)杀死占用端口号的进程,释放端口;
(2)彻底关闭 Tomcat 服务器,或者重新启动项目。

可以通过运行命令:netstat -ano|findstr “8080” 寻找占用端口的进程,
之后执行tasklist|findstr “15568”查看PID对应的服务,最后执行taskkill /F /PID 15568关闭指定进程。

问题记录-15 -------------------------------------------------------------------------------------------------------

cannot run program 'python' -- createprocess error=2, 系统找不到指定的文件

这是Java调用Python程序时报的错误,因为Python环境未加入IDEA编译环境中。
解决步骤:打开Run -->Edit Configurations… -->-Environment variables,查看自己电脑中的系统变量中是否已加入Python的安装路径,如没有则选择右侧“加号”添加一条用户变量:
Name设置为:PATH,Value设置为:python的安装路径

问题记录-16 -------------------------------------------------------------------------------------------------------

错误:不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

这个错误是因为读取xml文件时出错,规范的xml格式中 <?xml version="1.0" encoding="UTF-8"?> 必须是xml文件的第一个元素且前面不能带空格。

-------------------------------------------------------------------------------------------------------------------------
暂时记录到这里,作为初学者接触并开发了一个多月的Java Web服务端。感觉在工作中去学习新的东西虽然很有趣,但也很有挑战,尤其当项目节点很赶的情况下还是非常痛苦的,很希望能够有一段专门的时间报个辅导班或者训练营来系统的学习一下,而不是赶鸭子上架面向百度编程…

等待十一参加舍友婚礼的乔木小姐
记于2020.09.24

本文标签: 环境项目大全Serverwin