相关疑难解决方法(0)

将所有jar包含在Java类路径中的目录中

有没有办法在类路径中的目录中包含所有jar文件?

我正在尝试java -classpath lib/*.jar:. my.package.Program,它无法找到肯定在那些罐子里的类文件.我是否需要将每个jar文件分别添加到类路径中?

java command-line classpath

968
推荐指数
16
解决办法
100万
查看次数

Windows上Java7命令行的通配符断开(7?)

我在Windows上观察到Java7的通配符扩展行为的奇怪行为.

几个世纪以来,"*"与*之间存在着明显的差异.
似乎这对Java7来说不再适用(至少在Windows7上).

我在使用通配符类路径时注意到了这个问题.
尽管引用了wildcard-classpath,它仍然会被扩展.
因此,似乎不可能再将通配符传递给java应用程序.

因此使用java -cp "somewhere/*"将失败(如同"somewhere\*").

一种解决方法似乎是:java -cp "somewhere/*;"它抑制了扩张.

为了验证行为,我写了一个小的Echo.java类.

我发现使用java 1.6.0引用"*"和plain*就像预期的那样工作,而在Java7上我总是得到扩展的通配符.到目前为止,这在Windows7上被观察到,不知道XP上会发生什么.

问题出现了,因为Windows上的通配符永远不会被黑暗时代CMD.EXE扩展(就像UNIX上的任何shell一样).相反,每个可执行文件都必须使用setargv.obj显式执行此操作.

我发现了两个似乎描述类似问题的相关问题:

这是否被其他人观察到了?
或者是否有一些模糊的Windows或批处理文件设置来控制它?

迪特.

java command-line wildcard classpath windows-7

16
推荐指数
1
解决办法
3620
查看次数

在java classpath中使用通配符

我正在运行一个应该执行main方法的shell脚本:

java -classpath /path/to/app/conf/lib/nameJar* com.example.ClassTest
Run Code Online (Sandbox Code Playgroud)

在这一点上,我得到了这个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
Run Code Online (Sandbox Code Playgroud)

这是因为弹簧罐位于另一个文件夹中.所以我改变了脚本:

java -classpath /path/to/app/conf/lib/nameJar*:/path/to/app/lib/spring* com.example.ClassTest
Run Code Online (Sandbox Code Playgroud)

但是使用此脚本,无法找到com.example.ClassTest.关于这个问题的任何想法?

提前致谢

java wildcard classpath

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

classpath ×3

java ×3

command-line ×2

wildcard ×2

windows-7 ×1