1.背景
我的Maven项目有很多的模块和子模块与jars和wars一切工作.我也可以在服务器上部署它而没有任何问题.
我决定遵循这个maven命名转换,我正在进行一些测试project.name并project.build.finalName拥有一个合适的名称.
我定义project.name为根工件创建的模式是company-${project.artifactId},对于模块和子模块是${project.parent.name}-${project.artifactId}:
模式project.build.finalName是${project.name}-${project.version}:
但maven没有生成这些文件,而是给了我一个StackOverflowError.
2.重现错误的示例
你可以从github克隆这个例子:https://github.com/pauloleitemoreira/company-any-artifact
在github中,有一个master分支,它将重现此错误.还有only-modules分支,这是一个工作示例,用于${project.parent.name}生成finalName我想要的jar .
让我们考虑一个带有一个根pom工件,一个pom模块和一个子模块的maven项目.
-any-artifact
|
|-any-module
|
|-any-submodule
Run Code Online (Sandbox Code Playgroud)
2.1任何神器
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>any-artifact</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>company-${project.artifactId}</name>
<modules>
<module>any-module</module>
</modules>
<!-- if remove finalName, maven will not …Run Code Online (Sandbox Code Playgroud) 我已经开始使用JJWT在我的服务器应用程序上处理JWT.
我的JWT秘密将存储在resources文件夹中,我将在Properties课程中加载秘密.
该JJWT提供了三种方法来签署JWT,一个用途byte[],其他用途String和其他用途Key:
JwtBuilder signWith(SignatureAlgorithm var1, byte[] var2);
JwtBuilder signWith(SignatureAlgorithm var1, String var2);
JwtBuilder signWith(SignatureAlgorithm var1, Key var2);
Run Code Online (Sandbox Code Playgroud)
问题:关于安全性,字符集和其他问题,我应该使用哪些建议?
一会儿,我站着String,因为Properties回来了String.
Parse.com中的每个对象都有自己的ObjectId,这是一个包含10个字符的字符串,显然它是由这个正则表达式创建的:[0-9a-zA-Z]{10}.
Parse中ObjectId的示例:
我想将此String转换为Long,因为它将节省内存并改善搜索.(使用UTF-8的10个字符有40个字节,1个长度有8个字节)
如果我们计算组合,我们可以找到:
因此,我们可以转换这些值而不会丢失信息.有一种简单的方法可以安全地完成它吗?请考虑Chars的任何编码(UTF-8,UTF-16等);
编辑:我只是想以一种艰难的方式来解决它.我问是否有一个简单的方法.
我正在使用泛型方法进行一些测试,我想在下面转换这两个方法(convertFloatListToArray和convertShortListToArray)(convertListToArray):
public class Helper{
public static float[] convertFloatListToArray(List<Float> list){
float[] array = new float[list.size()];
for(int i = 0; i<list.size(); i++){
array[i] = list.get(i);
}
return array;
}
public static short[] convertShortListToArray(List<Short> list){
short[] array = new short[list.size()];
for(int i = 0; i<list.size(); i++){
array[i] = list.get(i);
}
return array;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用泛型时,如下所示,我有一些错误:
public class Helper{
public static <T, E> T convertListToArray(List<E> list){
T array = new T[list.size()];
for(int i = 0; i<list.size(); i++){
array[i] = list.get(i);
}
return array;
} …Run Code Online (Sandbox Code Playgroud) 我从谷歌和SO获得了不同类型的电子邮件模式.但我无法理解这种模式.请任何人给我一个解释以下模式.预先感谢.
"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
"\\@" +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
"(" +
"\\." +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
")+"
Run Code Online (Sandbox Code Playgroud)