一、配置java环境
1.1、解压下载好的java jdk到/usr/local目录下
1 |
[root@imzcy ~]# tar zxf jdk-8u112-linux-x64.tar.gz -C /usr/local/ |
1.2、创建java符号链接
1 |
[root@imzcy ~]# ln -s /usr/local/jdk1.8.0_112/ /usr/local/java |
1.3、编辑/etc/profile文件,配置java环境变量
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# vi /etc/profile #************************java********************# export JAVA_HOME=/usr/local/java export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin #************************java********************# [root@imzcy ~]# |
1.4、使用 source
命令重新加载/etc/profile配置文件
1 |
[root@imzcy ~]# source /etc/profile |
1.5、确认java环境配置正常(使用 java -version
命令查看java版本)
1 2 3 4 5 |
[root@imzcy ~]# java -version java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) [root@imzcy ~]# |
二、配置maven
2.1、解压下载好的maven包
1 |
[root@imzcy ~]# tar zxf apache-maven-3.0.5-bin.tar.gz -C /usr/local/ |
2.2、创建java符号链接
1 |
[root@imzcy ~]# ln -s /usr/local/apache-maven-3.0.5/ /usr/local/maven |
2.3、编辑/etc/profile文件,配置maven环境变量
1 2 3 4 5 6 |
[root@imzcy ~]# vi /etc/profile #************************maven********************# export MAVEN_HOME=/usr/local/maven export PATH=$PATH:${MAVEN_HOME}/bin #************************maven********************# [root@imzcy ~]# |
2.4、使用 source
命令重新加载/etc/profile配置文件
1 |
[root@imzcy ~]# source /etc/profile |
2.5、确认maven配置正常(使用 mvn -v
命令查看mvn版本信息)
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# mvn -v Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 21:51:28+0800) Maven home: /usr/local/maven Java version: 1.8.0_112, vendor: Oracle Corporation Java home: /usr/local/jdk1.8.0_112/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix" [root@imzcy ~]# |
三、下载源码及分别打包
3.1、从githu下载最新的源码
1 2 |
[root@imzcy ~]# unzip uavstack-master.zip [root@imzcy ~]# cd uavstack-master |
3.2、首先build com.creditease.uav.superpom
1 2 |
[root@imzcy uavstack-master]# cd com.creditease.uav.superpom/ [root@imzcy com.creditease.uav.superpom]# mvn clean install |
3.3、打包中间件增强框架(MOF探针)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@imzcy uavstack-master]# cd com.creditease.uav.monitorframework.buildComponent [root@imzcy com.creditease.uav.monitorframework.buildComponent]# mvn clean install ...省略打包过程... [root@imzcy com.creditease.uav.monitorframework.buildComponent]# echo $? 0 [root@imzcy com.creditease.uav.monitorframework.buildComponent]# [root@imzcy com.creditease.uav.monitorframework.buildComponent]# ll target/ 总用量 3952 drwxr-xr-x 2 root root 28 9月 29 15:43 antrun drwxr-xr-x 12 root root 301 9月 29 15:43 build -rw-r--r-- 1 root root 4041425 9月 29 15:43 uavmof_1.0_20180929154319.zip -rw-r--r-- 1 root root 33 9月 29 15:43 uavmof_1.0_20180929154319.zip.MD5 [root@imzcy com.creditease.uav.monitorframework.buildComponent]# |
3.4、打包监控代理程序(MA)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@imzcy uavstack-master]# cd /root/uavstack-master/com.creditease.uav.agent.buildComponent [root@imzcy com.creditease.uav.agent.buildComponent]# mvn clean install ...省略打包过程... [root@imzcy com.creditease.uav.agent.buildComponent]# echo $? 0 [root@imzcy com.creditease.uav.agent.buildComponent]# [root@imzcy com.creditease.uav.agent.buildComponent]# ll target/ 总用量 9036 drwxr-xr-x 2 root root 28 9月 29 15:55 antrun drwxr-xr-x 5 root root 42 9月 29 15:55 build -rw-r--r-- 1 root root 9248657 9月 29 15:55 uavagent_1.0_20180929155542.zip -rw-r--r-- 1 root root 33 9月 29 15:55 uavagent_1.0_20180929155542.zip.MD5 [root@imzcy com.creditease.uav.agent.buildComponent]# |
3.5、打包健康管理服务(HM)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@imzcy uavstack-master]# cd ../com.creditease.uav.healthmanager.buildComponent [root@imzcy com.creditease.uav.healthmanager.buildComponent]# mvn clean install ...省略打包过程... [root@imzcy com.creditease.uav.healthmanager.buildComponent]# echo $? 0 [root@imzcy com.creditease.uav.healthmanager.buildComponent]# [root@imzcy com.creditease.uav.healthmanager.buildComponent]# ll target/ 总用量 71152 drwxr-xr-x 2 root root 28 9月 29 16:07 antrun drwxr-xr-x 5 root root 42 9月 29 16:07 build -rw-r--r-- 1 root root 72851663 9月 29 16:08 uavhm_1.0_20180929160750.zip -rw-r--r-- 1 root root 33 9月 29 16:08 uavhm_1.0_20180929160750.zip.MD5 [root@imzcy com.creditease.uav.healthmanager.buildComponent]# |
3.6、打包AppHub
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@imzcy uavstack-master]# cd ../com.creditease.uav.console [root@imzcy com.creditease.uav.console]# mvn clean install ...省略打包过程... [root@imzcy com.creditease.uav.console]# echo $? 0 [root@imzcy com.creditease.uav.console]# ll target/ 总用量 12444 drwxr-xr-x 3 root root 17 9月 29 16:59 classes drwxr-xr-x 18 root root 4096 9月 29 16:59 com.creditease.uav.console-1.0 -rw-r--r-- 1 root root 12698683 9月 29 16:59 com.creditease.uav.console-1.0.war -rw-r--r-- 1 root root 156 9月 28 16:30 findbugs.exclude.xml -rw-r--r-- 1 root root 29503 9月 29 17:00 findbugsXml.xml drwxr-xr-x 3 root root 25 9月 29 16:59 generated-sources drwxr-xr-x 2 root root 28 9月 29 16:59 maven-archiver drwxr-xr-x 2 root root 6 9月 29 17:00 surefire [root@imzcy com.creditease.uav.console]# |
四、常见问题
4.1、报错 编码UTF-8的不可映射字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5:28.887s [INFO] Finished at: Sat Sep 29 13:15:49 CST 2018 [INFO] Final Memory: 122M/237M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project com.creditease.uav.hook.jdbc: Compilation failure: Compilation failure: [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,16] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,17] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,19] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,20] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,21] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,23] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[140,24] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[154,7] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[154,9] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/hikari/HikariHookProxy.java:[154,21] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[173,19] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[173,20] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[173,21] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[173,23] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[173,24] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,7] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,9] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,20] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,21] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,22] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,23] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,25] 错误: 编码UTF-8的不可映射字符 [ERROR] /root/uavstack-master/com.creditease.uav.hook.jdbc/src/main/java/com/creditease/uav/hook/jdbc/pools/dbcp/DBCPHookProxy.java:[186,26] 错误: 编码UTF-8的不可映射字符 [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :com.creditease.uav.hook.jdbc [root@imzcy com.creditease.uav.monitorframework.buildComponent]# echo $? 1 [root@imzcy com.creditease.uav.monitorframework.buildComponent]# |
解决方法:
开始直接在百度上搜索 "编码UTF-8的不可映射字符" ,然后按照提供的解决方法搞了老半天试了几个都没有解决(修改pom.xml文件中默认的字符集类型、使用Notepad ++ 另存为修改DBCPHookProxy.java文件的编码类型等)。后来突然想到DBCPHookProxy.java文件对应报错的行看下,发现有乱码,,最后到github上相应位置一看,,原来是有中文注释。。尴尬。
把上面报错的有中文注释的行都删掉之后,重新打包就正常了!
4.2、报错 [ERROR] 错误: 读取aredis-api-1.4.jar时出错; error in opening zip file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[ERROR] Failure executing javac, but could not parse the error: 错误: 读取/root/.m2/repository/aredis/sourceforge/net/aredis-api/1.4/aredis-api-1.4.jar时出错; error in opening zip file 1 个错误 [INFO] 1 error [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 33.905s [INFO] Finished at: Sat Sep 29 16:10:33 CST 2018 [INFO] Final Memory: 10M/24M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project com.creditease.uav.console: Compilation failure [ERROR] Failure executing javac, but could not parse the error: [ERROR] 错误: 读取/root/.m2/repository/aredis/sourceforge/net/aredis-api/1.4/aredis-api-1.4.jar时出错; error in opening zip file [ERROR] 1 个错误 [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [root@imzcy com.creditease.uav.console]# |
解决方法:
好吧,刚开始也是百度上直接搜 "error in opening zip file" ,试了几个都不管用。。
又研究了半天,发现就根据报错信息来看的话,应该是下载的aredis-api-1.4.jar这个文件有点问题。于是根据/root/.m2/repository/aredis/sourceforge/net/aredis-api/1.4/这个存储路径,判断下载aredis-api-1.4.jar文件的地址可能是aredis.sourceforge.net。浏览器打开这个网址发现果然是,于是进去下载了那个aredis的文件:
1 |
https://excellmedia.dl.sourceforge.net/project/aredis/1.4/aredis-1.4.jar |
修改了下自己下载的文件名字,然后替换到对应的目录
1 2 |
[root@imzcy ~]# mv aredis-1.4.jar aredis-api-1.4.jar [root@imzcy ~]# \cp aredis-api-1.4.jar /root/.m2/repository/aredis/sourceforge/net/aredis-api/1.4/aredis-api-1.4.jar |
在重新打包,发现正常了!