我有一个Maven项目,它生成一个jar文件并将所有依赖项复制到target/lib文件夹.我想在客户端的机器(windows)上执行这个项目.所以,我复制myproject.jar到C:\xyz文件夹和所有依赖项到C:\xyz\lib文件夹.如何从客户端的命令提示符执行此项目?我试图java -cp lib\*.jar -jar myproject.jar从C:\xyz文件夹使用,但它抛出以下错误.
Exception in thread "main" java.lang.NoClassDefFoundError: lib\commons-codec-1/3/jar
Caused by: java.lang.ClassNotFoundException: lib\commons-codec-1.3.jar
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: lib\commons-codec-1.3.jar. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我想如果我在classpath(如java -cp lib\dep1.jar;dep2.jar)中指定所有依赖项,它将解决问题,但我不想这样做,因为我已经有40个库,并且它可能会在将来的版本中增长.有一个更好的方法吗?
我想使用带有16字节密钥的128位AES加密来加密和解密密码.我javax.crypto.BadPaddingException在解密值时遇到错误.在解密时我错过了什么吗?
public static void main(String args[]) {
Test t = new Test();
String encrypt = new String(t.encrypt("mypassword"));
System.out.println("decrypted value:" + t.decrypt("ThisIsASecretKey", encrypt));
}
public String encrypt(String value) {
try {
byte[] raw = new byte[]{'T', 'h', 'i', 's', 'I', 's', 'A', 'S', 'e', 'c', 'r', 'e', 't', 'K', 'e', 'y'};
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(value.getBytes());
System.out.println("encrypted string:" + (new String(encrypted)));
return new String(skeySpec.getEncoded());
} catch (NoSuchAlgorithmException ex) …Run Code Online (Sandbox Code Playgroud) 我想将Tortoise SVN"显示日志"信息下载到一个文件中(我需要修订号,作者,日期,消息和修改后的文件列表).最简单的方法是什么?如果Tortoise SVN无法做到这一点,那么做什么的适当的SVN命令是什么,或者是否有任何工具可以做到这一点?
谢谢
我正在获取ParseException以下代码
String dateStr = "2011-12-22 10:56:24.389362";
String formatStr = "yyyy-MM-dd HH:mm:ss.SSSSSS";
Date testDate = null;
SimpleDateFormat sdf= new SimpleDateFormat(formatStr);
sdf.setLenient(false);
testDate = sdf.parse(dateStr);
System.out.println("CHECK DATE " + sdf.format(testDate));
Run Code Online (Sandbox Code Playgroud)
Exception in thread "main" java.text.ParseException: Unparseable date: "2011-12-22 10:56:24.389362"
at java.text.DateFormat.parse(DateFormat.java:337)
如果我注释掉该行sdf.setLenient(false),那么我会看到输出的时间差
CHECK DATE 2011-12-22 11:02:53.000362
我究竟做错了什么??
如何转义f:SelectItem itemLabel属性,以便我可以在标签中添加超链接?
使用以下代码,我能够逃脱,h:outputText但没有f:selectItem.
<h:outputText value="MyLink <a href="http://google.com" >Google </a>" escape="false"/>
<h:selectOneRadio id="p" value="#{bean.somevalue}" required="true" >
<f:selectItem escape="false" escapeItem="false" itemLabel="One <a href="http://google.com" >Google </a>" itemValue="O" />
<f:selectItem escape="false" escapeItem="false" itemLabel="Two <a href="http://stackoverflow.com" >Stackoverflow</a>" itemValue="T" />
</h:selectOneRadio>
Run Code Online (Sandbox Code Playgroud)
我想要的东西如下图所示

我正在尝试使用正则表达式替换字符串的最后一个单词,如果它是2个字符长.我用过,[a-zA-Z]{2}$但它找到了字符串的最后2个字符.我不想替换最后一个字,如果它不是2个字符长,我怎么能这样做?
如何从JAX-WS Web服务获取经过身份验证的用户信息?
谢谢
java ×5
aes ×1
classpath ×1
encryption ×1
jar ×1
jax-ws ×1
jsf ×1
jsf-2 ×1
maven ×1
regex ×1
svn ×1
tortoisesvn ×1
web-services ×1