Compiling wildfly-openssl-1.0.4.Final.jar
- Download the wildfly-openssl-1.0.4.Final source code package and decompress it.
1 2
wget https://github.com/wildfly/wildfly-openssl/archive/1.0.4.Final.tar.gz tar -zxf 1.0.4.Final.tar.gz
- Go to the directory generated after the decompression.
1cd wildfly-openssl-1.0.4.Final
- Create the linux-aarch64 directory based on the directory format after the decompression.
1mkdir linux-aarch64 - Copy the Makefile and pom.xml files in the linux-x86_64 directory to the linux-aarch64 directory.
1 2
cp linux-x86_64/Makefile linux-aarch64/ cp linux-x86_64/pom.xml linux-aarch64/
- Modify the ./pom.xml, ./combined/pom.xml, ./java/pom.xml, ./linux-aarch64/pom.xml, and ./linux-aarch64/Makefile files as required.
- combined/pom.xml
1sed -i '122a\ <profile>\n<id>linux-aarch64<\/id>\n<activation>\n<os>\n<family>linux<\/family>\n<\/os>\n<property>\n<name>sun.arch.data.model<\/name>\n<value>64<\/value>\n<\/property>\n<\/activation>\n<dependencies>\n<dependency>\n<groupId>org.wildfly.openssl<\/groupId>\n<artifactId>wildfly-openssl-linux-aarch64<\/artifactId>\n<version>\${project.version}<\/version>\n<\/dependency>\n<\/dependencies>\n<\/profile>' combined/pom.xml

1sed -i '240a\ <dependency>\n<groupId>org.wildfly.openssl<\/groupId>\n<artifactId>wildfly-openssl-linux-aarch64<\/artifactId>\n<version>\${project.version}<\/version>\n<\/dependency>' combined/pom.xml

- java/pom.xml
1sed -i '169a\<profile>\n<id>linux-aarch64<\/id>\n<activation>\n<os>\n<family>linux<\/family>\n<\/os>\n<property>\n<name>sun.arch.data.model<\/name>\n<value>64<\/value>\n<\/property>\n<\/activation>\n<dependencies>\n<dependency>\n<groupId>org.wildfly.openssl<\/groupId>\n<artifactId>wildfly-openssl-linux-aarch64<\/artifactId>\n<version>\${project.version}<\/version>\n<\/dependency>\n<\/dependencies>\n<\/profile>' java/pom.xml

- linux-aarch64/pom.xml
1sed -i 's/x86_64/aarch64/' linux-aarch64/pom.xml

- Makefile
1sed -i 's/x86_64/aarch64/' linux-aarch64/Makefile

- pom.xml
1sed -i '154a\<profile>\n<id>linux-aarch64<\/id>\n<activation>\n<os>\n<family>linux<\/family>\n<\/os>\n<property>\n<name>sun.arch.data.model<\/name>\n<value>64<\/value>\n<\/property>\n<\/activation>\n<modules>\n<module>linux-aarch64<\/module>\n<\/modules>\n<\/profile>' pom.xml

- combined/pom.xml
- Perform compilation.
1mvn install -DskipTests=true -Dmaven.javadoc.skip=true
If the .jar package still does not contain ARM-based .so files after compilation, modify the source code and perform the compilation again. For details, see No Arm-based JAR Package Generated After Compiling wildfly-openssl-1.0.4.Final.jar.
Parent topic: WildFly OpenSSL Porting Guide (CentOS&openEuler)