jdk版本要大于等于11
特别注意:升级到 JDK 11.0.20 或 17.0.8 或 20.0.2 后,构建 WSO2 时,maven 会报错提示“Invalid CEN header (XXXXXXXX)”,是因为 java.util.zipZipFile 已更新,以便在打开 ZIP 文件时对 ZIP64 额外字段进行额外验证。
编译时注意 JDK 版本要在这几个版本以下。
https://support.oracle.com/knowledge/Middleware/2964305_1.html
yum list java-11-openjdk*11.0.17* yum install -y java-11-openjdk*11.0.17*
maven版本要大于等于3.0.4
设置环境变量以避免 Maven OutOfMemoryError
vim /etc/profile
export MAVEN_OPTS="-Xmx2048M -XX:MaxPermSize=1024m"
source /etc/profile echo $MAVEN_OPTS
wget https://github.com/wso2/product-apim/archive/refs/tags/v4.2.0.tar.gz tar -zxvf v4.2.0.tar.gz cd product-apim-4.2.0 # 跳过单元测试 mvn clean install -Dmaven.test.skip=true # 二进制和源发行版,不运行任何单元测试,处于脱机模式。 # 只有当你已经构建了至少一次源代码时,才能做到这一点。 mvn clean install -Dmaven.test.skip=true -o
注意:如果在构建 Carbon Kernel repository 时收到错误“Comparison method violates its general contract”,请在Maven命令中使用JVM参数
_JAVA_OPTIONS=-Djava.util.Arrays.useLegacyMergeSort=true mvn clean install
构建成功的文件在 product-apim-4.2.0/modules/distribution/product/target 目录
ls -lh modules/distribution/product/target
giegie好厉害