KeyCloak14.0 源码编译(二次开发)

1.基础准备(building.md official)

环境: windows10 jdk.18 maven 3.6 git 2.6

Building from source

Ensure you have JDK 8 (or newer), Maven 3.5.4 (or newer) and Git installed

java -version
mvn -version
git --version

First clone the Keycloak repository:

git clone -b 14.0.0 https://github.com/keycloak/keycloak.git
cd keycloak

To build Keycloak run:

mvn clean install

This will build all modules and run the testsuite.

To build the ZIP distribution run:

mvn clean install -Pdistribution

Once completed you will find distribution archives in distribution.

To build only the server run:

mvn -Pdistribution -pl distribution/server-dist -am -Dmaven.test.skip clean install

Skip Tests

mvn clean install -Pdistribution -DskipTests

​
**NOTE**
​
Classes from `org.keycloak.testsuite.*` packages aren't suitable to be used in production.
## Starting Keycloak
To start Keycloak during development first build as specified above, then run:
    mvn -f testsuite/utils/pom.xml exec:java -Pkeycloak-server 
When running testsuite, by default an account with username `admin` and password `admin` will be created within the master realm at start.
To start Keycloak from the server distribution first build the distribution it as specified above, then run:
    tar xfz distribution/server-dist/target/keycloak-<VERSION>.tar.gz
    cd keycloak-<VERSION>
    bin/standalone.sh
To stop the server press `Ctrl + C`.

2.启动入口

下载代码在项目目录下面找到 testsuite/utils/src/resources/META-INF/keycloak-server.json文件。Testsuite/utils 是keycloak提供的启动项目,后面的项目启动也在这个项目中。

现在我们来启动代码,进入testsuite/utils 项目下,在源码下找到 KeycloakServer 类,打开这个类找到main方法,这个就是启动的入口。 此处参考:https://blog.csdn.net/jkin_wan/article/details/109643361

3.错误处理

3.1编译错误

当出现错误“java: Compilation failed: internal java compiler error”时,将jdk版本统一到1.8,特别是java compiler(idea的设置)中module每一项都调至1.8,即可避免这些错误。

详细说明 :在Idea中编译时出现错误:java: Compilation failed: internal java compiler error 解决办法很简单:File-->Setting...-->Build,Execution,Deployment-->Compiler-->Java Compiler 设置相应Module的target bytecode version的合适版本(跟你jdk版本一致)

3.2安装错误

当mvn install 时出现[ERROR] Failed to execute goal com.igormaznitsa:mvn-golang-wrapper:2.3.4

在Linux下显示的详细信息,原因是因为XXX(CSDN审核需要)的原因。

`[ERROR] Failed to execute goal com.igormaznitsa:mvn-golang-wrapper:2.3.4:get (get-mousetrap) on project integration-arquillian-tests-base: Connect to storage.googleapis.com:443 [storage.googleapis.com/172.217.161.176, storage.googleapis.com/172.217.163.240, storage.googleapis.com/172.217.174.208, storage.googleapis.com/216.58.200.80, storage.googleapis.com/216.58.220.208, storage.googleapis.com/142.250.66.48, storage.googleapis.com/142.250.66.80, storage.googleapis.com/142.250.66.112, storage.googleapis.com/142.250.199.80, storage.googleapis.com/142.250.204.48, storage.googleapis.com/142.250.204.80, storage.googleapis.com/142.250.204.144, storage.googleapis.com/142.250.207.80, storage.googleapis.com/172.217.26.144, storage.googleapis.com/172.217.161.144] failed: 拒绝连接 (Connection refused) -> [Help 1]`    

答:windows上全局代理proxifier设定 具体设置为:mvn.exe;mvn.cmd;curl.exe;wget.exe; target host 设置为storage.googleapis.com;*.google.com; 可以解决此错误(走http通道,非socks5通道)

4.最终输出

最终输出二进制包在

`keycloak\distribution\server-dist\target`

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
ABAQUS可以通过用户子程序(User Subroutine)调用二次开发代码。用户子程序是一种自定义的代码,可以通过ABAQUS的输入文件调用,用于在求解器的不同阶段插入用户定义的功能。 要调用二次开发代码,首先需要编写一个用户子程序。用户子程序必须符合ABAQUS的特定格式和规范,并且需要链接到ABAQUS的可执行文件中。 一般情况下,ABAQUS提供了许多不同的用户子程序接口,用于在不同的求解器阶段插入用户定义的功能。例如,您可以使用以下用户子程序接口之一来调用二次开发代码: - UMAT:用于定义材料的本构关系; - UEL:用于定义元素的本构关系; - UMATHT:用于定义热输运过程中的材料行为; - USDFLD:用于定义场量; - UEXTERNALDB:用于定义外部数据库。 在输入文件中,您需要指定要使用的用户子程序和对应的二次开发代码的名称。例如,在使用UMAT接口的情况下,您需要在输入文件中添加以下行: ``` *USER MATERIAL, TYPE=MECHANICAL, NAME=MY_MATERIAL *ELASTIC 200E9,0.3 *DENSITY 7800 *USER DEFINED MATERIAL BEHAVIOR, CONSTANTS=6 1.0,2.0,3.0,4.0,5.0,6.0 *USER DEFINED FIELD 1, TEMPERATURE, 1 *INITIAL CONDITIONS, TYPE=TEMPERATURE 1, 20.0 *BOUNDARY 1,1,4 *STEP *STATIC 1E-5,1,0.1 *ELEMENT, TYPE=C3D8R, ELSET=EALL 1, 2, 3, 4, 5, 6, 7, 8 *MATERIAL, NAME=MY_MATERIAL *USER ELEMENT, TYPE=STANDARD, NODES=8, PROPERTIES=24, COORDINATES=3 1, UEL_MY_ELEMENT, 1, 2, 3, 4, 5, 6, 7, 8, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0 ``` 其中,UEL_MY_ELEMENT是您编写的二次开发代码的名称。 需要注意的是,调用用户子程序时需要确保您的二次开发代码和ABAQUS的版本和平台兼容,并且需要进行编译和链接。如果您不熟悉如何编写和调用用户子程序,请参考ABAQUS的官方文档和教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值