Java Web应用程序的CLASSPATH中的WEB-INF文件夹?
我有一个应用程序,我试图包装成一个jar更容易部署。 当作为一组CLASSPATH可访问的类运行时,应用程序编译并运行良好(在Windows cmd窗口中)。 但是,当我激活我的类,并尝试在同一个CMD窗口中运行它与Java 1.6,我开始得到exception: C:\dev\myapp\src\common\datagen>C:/apps/jdk1.6.0_07/bin/java.exe -classpath C:\myapp\libs\commons -logging-1.1.jar -server -jar DataGen.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at com.example.myapp.fomc.common.datagen.DataGenerationTest.<clinit>(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 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:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) … 1 more 有趣的是,有问题的LogFactory似乎是commons-logging-1.1.jar,它在指定的类path中。 jar文件(是的,它真的在那里): C:\dev\myapp\src\common\datagen>dir C:\myapp\libs\commons-logging-1.1.jar Volume in drive C is Local Disk Volume […]
这将是一个非常简单的免费赠送bash大师: 题 使用bash,你如何在目录中的所有文件中创build一个类path? 细节 给定一个目录: LIB=/path/to/project/dir/lib 只包含* .jar文件,例如: junit-4.8.1.jar jurt-3.2.1.jar log4j-1.2.16.jar mockito-all-1.8.5.jar 我需要创build一个冒号分隔的类pathvariables的forms: CLASSPATH=/path/to/project/dir/lib/junit-4.8.1.jar:/path/to/project/dir/lib/jurt-3.2.1.jar:/path/to/project/dir/lib/log4j-1.2.16.jar:/path/to/project/dir/lib/mockito-all-1.8.5.jar 几乎expression我所寻找的逻辑的一些seudo-code将会是: for( each file in directory ) { classpath = classpath + ":" + LIB + file.name } 什么是通过bash脚本完成这个简单的方法?
我有一个项目在我的笔记本电脑上的Eclipse,我推到Git https://github.com/chrisbramm/LastFM-History-Graph.git 它完全在我的笔记本电脑上运行,并运行/构build没有问题,但在我的桌面上,Eclipse不会给出错误 错误:无法find或加载主类lastfmhistoryguis.InputPanel 我已经尝试从以下项目构build项目: Project>Build Project 但没有发生。 我已经将这台计算机上的PATHvariables设置为JRE6,JRE7和JDK 1.7.0,即使这些variables没有在我的笔记本电脑上设置。 我有我的.classpath文件中的Jar文件( last.fm-bindings-0.1.1.jar ),该文件位于我的笔记本电脑上的C:\ Users \ Chris \ Downloads文件夹中,因此它不包含在git树中我最近把它带进了项目文件夹并承诺,但我不确定我是否做得对。 这也会造成一个问题,但是这里没有主要的论点。 我现在不能工作,我需要检查/改变。
用Java运行Java应用程序有什么区别? java -cp CLASSPATH和java -jar JAR_FILE_PATH ? 运行Java应用程序时,他们中的一个人更喜欢其他人吗? 我的意思是这些方式中的哪一种对于JVM(根据它们的机器资源使用情况)是更昂贵的? 哪一个会导致JVM在尝试运行应用程序时产生更多的线程?
jar子的名单只占用太多的空间。 我可以折叠或隐藏它吗?
有人可以请给我一个简单的build.gradle示例,说明如何指定不包含在运行时部署(war)中的仅编译时类。 Gradle似乎已经得到了这个错误的方式,因为“运行时”从“compile”inheritance。 我无法想象的情况下,我想在运行时的类,我不想在编译时。 但是,在编译时需要类来生成代码的情况有很多,我不希望在运行时进行部署。 我翻遍了臃肿的gradle文档,但找不到任何明确的说明或示例。 我怀疑这可能是通过定义一个“configuration”并将其设置为CompileJava插件的类path来实现的,但是文档不能解释如何实现这一点。
我正试图build立一个目标,它有<pathelement location="${xxx}"/>和<path refid="foo.class.path"/>元素在其<path id="bar.class.path">元素(在build.xml文件中)。 我不断收到“包com.somecompany.somepackage不存在”的错误,我很难追逐这些包,并确保我已经从我们的仓库同步他们。 我对这支球队不熟悉,所以我对这个队伍不熟悉,但是如果可能的话,我宁愿自己弄清楚(所以我不打扰其他非常繁忙的队员)。 我对Ant的经验非常有限。 我想如果我能够让Ant打印出我想要构build的目标的类path的话,那将会节省相当多的时间。
我对这两个术语感到困惑。 另外我应该怎么做在Spring MVC项目的src文件夹下创build一个文件? 当我创build使用File对象时,它创build了C:\ SpringSourceTool中的文件…我想这是ClassPath的权利? 我怎样才能得到applicationcontext文件夹或applicationcontext根什么?
我知道这对于有经验的编程人员来说可能是一个愚蠢的问题。 但我有一个库(一个HTTP客户端),我的项目中使用的一些其他框架/jar子需要。 但他们都需要不同的主要版本,如: httpclient-v1.jar => Required by cralwer.jar httpclient-v2.jar => Required by restapi.jar httpclient-v3.jar => required by foobar.jar 类加载器是否足够聪明,以某种方式将它们分开? 最有可能不? Classloader如何处理这个问题,以防三个jar子中的Class是相同的。 哪一个被加载,为什么? Classloader只拾取一个jar子,还是混合任意的类? 例如,如果一个类是从Version-1.jar加载的,那么从同一个类加载器加载的所有其他类将全部进入相同的jar? 你如何处理这个问题? 有没有什么把“jar子”合并到“required.jar”中的一些技巧,这样就可以被Classloader看作是“一个单元/包”,或者以某种方式被链接?