我正在使用gradle进行多项目构建。我有一个要求选择依赖项取决于在命令行中注入的属性的条件。
方案1:
dependencies {
if( ! project.hasProperty("withsources")){
compile 'com.xx.yy:x-u:1.0.2'
}else{
println " with sources"
compile project (':x-u')
}
}
Run Code Online (Sandbox Code Playgroud)
1.每当我执行gradle run -Pwithsources
it is printing "withsources"
Run Code Online (Sandbox Code Playgroud)
2.但是对于gradle run
it is printing "withsources"
Run Code Online (Sandbox Code Playgroud)
方案2:
dependencies {
if( project.hasProperty("withsources")){
compile 'com.xx.yy:x-u:1.0.2'
}else{
println " with sources"
compile project (':x-u')
}
}
Run Code Online (Sandbox Code Playgroud)
1.每当我执行gradle run -Pwithsources
it is not printing "withsources"
Run Code Online (Sandbox Code Playgroud)
2.但是对于gradle run
it is not printing "withsources"
Run Code Online (Sandbox Code Playgroud)
我不知道它总是进入其他循环。任何人都可以在这里提供帮助。
我一直在使用字节缓冲区,但很少使用切片。但是现在我们slice()
在 on 上遇到了一个大问题bytebuffer
。
请看下面的代码:
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.Arrays;
public class Test12 {
public static void main(String[] args) throws UnsupportedEncodingException {
ByteBuffer original = ByteBuffer.wrap("234567".getBytes("UTF-8"));
printBuffer("org: ",original);
original.position(1);
original.limit(original.limit()-2);
printBuffer("org: ",original);
ByteBuffer sliced = original.slice();
printBuffer("slc: ",sliced);
ByteBuffer duplicated = original.duplicate();
printBuffer("dup: ",duplicated);
ByteBuffer compact = original.compact();
printBuffer("cmp: ",compact);
}
private static void printBuffer(String prefix,ByteBuffer buff)
{
System.out.println(prefix+buff);
System.out.println(prefix+Arrays.toString(Arrays.copyOfRange(buff.array(), buff.position(), buff.limit())));
}
}
Run Code Online (Sandbox Code Playgroud)
它导致
org: java.nio.HeapByteBuffer[pos=0 lim=6 cap=6]
org: [50, 51, 52, 53, 54, 55] …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 SoftHSM 2 上进行 POC,但我遇到了以下问题。
Exception in thread "main" java.security.ProviderException: Initialization failed
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:376)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
at SoftHSM.main(SoftHSM.java:50)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_SLOT_ID_INVALID
at sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo(Native Method)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:365)
... 2 more
Run Code Online (Sandbox Code Playgroud)
HSM 配置文件:
# SoftHSM v2 configuration file
name= SoftHSM2
library = C:\SoftHSM2\lib\softhsm2-x64.dll
slot=1
Run Code Online (Sandbox Code Playgroud)
如果我评论 slot=1 ,那么我得到
Exception in thread "main" java.security.ProviderException: Initialization failed
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:376)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
at SoftHSM.main(SoftHSM.java:50)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TOKEN_NOT_RECOGNIZED
at sun.security.pkcs11.wrapper.PKCS11.C_OpenSession(Native Method)
at sun.security.pkcs11.SessionManager.openSession(SessionManager.java:215)
at sun.security.pkcs11.SessionManager.getOpSession(SessionManager.java:150)
at sun.security.pkcs11.Token.<init>(Token.java:151)
at sun.security.pkcs11.SunPKCS11.initToken(SunPKCS11.java:858)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:367)
... 2 more
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它没有变得 …
任何人都了解 EMV 标签,并为标签 91-发行人身份验证数据和发行人脚本模板 1 和 2 提供 EMV 标签格式和样本值。