我正在使用Netbeans IDE进行java项目.在这个项目中,我需要一个jar文件"htmlunit-2.6.jar".
我已将此jar文件包含在项目库文件夹中.我已经实例化了它的一个类"WebClient",但是这个类需要其他类的"commons-httpclient-3.1.jar"文件.
现在我还在项目库文件夹中包含了"commons-httpclient-3.1.jar"文件.但是当我编译我的源文件时,它会抛出
ClassNotFoundException:org.apache.commons.httpclient.auth.CredentialsProvider
请告诉我如何在一个jar文件中的一个类需要其他jar文件中的其他类时处理这种情况.
我可以毫无问题地从Eclipse运行我的Java Swing应用程序.但是当我从.jar文件运行它时,图像无法加载.
我加载我的图像:
setIconImage(Toolkit.getDefaultToolkit().
getImage(getClass().getResource("../images/logo.png")));
Run Code Online (Sandbox Code Playgroud)
如何加载图像,即使我从.jar文件运行它们也能正常工作?
图像位于相同的Jar文件中,包中com.example.images和使用它们的类com.example.gui.dialogs
我有一个"核心"应用程序,它是处理任务的适配器.每个任务都由核心在适配器负载中实现,以处理任务.
我的问题是,是否可以在每个适配器中使用不同的类路径来预防适配器之间的类/ jar冲突.
问候,
我收到一条错误消息Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/spring.properties] cannot be opened because it does not exist.spring.properties文件确实存在,并且位于我的/ WEB-INF目录中(我已经确认它在构建项目后位于我的构建目录中).我把它设置在我的项目的.classpath目录中,如下所示:
<classpathentry kind="src" path="src/main/webapp/WEB-INF/spring.properties"/>
Run Code Online (Sandbox Code Playgroud)
在我的Spring应用程序上下文中,我输入如下:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/spring.properties" />
</bean>
Run Code Online (Sandbox Code Playgroud)
如果这是一个基本问题我很抱歉,但我真的很困惑,问题是什么以及如何解决它,我已经做了很多搜索,似乎无法弄明白.谢谢你的建议
我正在尝试从JAR运行一个类.这个类不是这个jar中唯一的主类.此外,它需要许多其他jar文件,我保存在与此Jar相同的目录中.我尝试过的命令如下:
(mydir是我所有的jar所在的目录,使用Windows平台)
mysql-connector-java-5.1.13-bin.jar需要myProjImport.jar运行,com.mycomp.myProj.importer.csv.TestImporter是我想要运行的类.
"C:\Documents and Settings\user\workspace\myProjImport\src\conf\datasource.properties"并且"C:\temp\apollo_claims_test.txt"是类所需的命令行参数TestImporter
这是我尝试过的:
mydir>java -cp C:\temp\test_myProj\mysql-connector-java-5.1.13-bin.jar;. myProjImport.jar com.mycomp.myProj.importer.csv.TestImporter "C:\Documents and Settings\user\workspace\myProjImport\src\conf\datasource.properties" "C:\temp\apollo_claims_test.txt"
Run Code Online (Sandbox Code Playgroud)
这是错误:
Exception in thread "main" java.lang.NoClassDefFoundError: myProjImport/jar
Caused by: java.lang.ClassNotFoundException: myProjImport.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: myProjImport.jar. Program will exit.
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我应该运行什么确切的命令?
在Hudson服务器(Windows机器)上部署我的应用程序时,我在调用java.exe时遇到问题,因为我的类路径太长 - Windows在一定长度后才会弹出.
该classpath基本上是数百个Jar文件,用分号隔开
假设如果在类路径中显式列出了每个jar,则以下类路径会太大:
<path id="classpath.project">
<fileset dir="lib" includes="**/*.jar" />
</path>
Run Code Online (Sandbox Code Playgroud)
我可以在蚂蚁中做些什么来缩短我的课程路径?
我有一个属性文件,我目前在此文件夹中:
/src/webapp/WEB-INF/classes/my.properties
Run Code Online (Sandbox Code Playgroud)
我正在加载它:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream("/my.properties");
Properties props = new Properties();
try {
props.load(is);
} catch (IOException e) {
e.printStackTrace();
}
String test = props.getProperty("test");
Run Code Online (Sandbox Code Playgroud)
现在这在我的Spring mvc应用程序中运行良好.
但是当我为此创建测试时,它失败并且我假设因为应用程序加载它的方式不使用web-inf/classes,因为它只是一个类而不是一个spring web应用程序.
那么我在哪里放置我的属性文件,以便在我的junit测试运行时,拾取属性文件?
此外,对于我的Web应用程序,除了/ web-inf/classes之外,还有哪些其他文件夹位于默认类路径中?
请帮助如何处理以下方案.
当前的Web应用程序:
我已将log4j.propertes放在/WEB-INF/classeswebapp的文件夹中.
想要实现: 将log4j.properties放在外部位置并从我的Web应用程序中引用,以便我可以随时修改日志位置而无需重新构建战争.
$CATALINA_HOME/propdirwebapp1/log4j.properties
$CATALINA_HOME/propdirwebapp2/log4j.properties
如果我部署了多个应用程序,请建议解决方案.如果服务器上只部署了一个应用程序,请建议解决方案
我已经解决了将旧的Android项目从Windows迁移到Mac的大多数问题,但路径问题仍然存在.
当我加载Eclipse时,它给出了一条错误消息:
"解析android-7的数据失败.来源附件路径'C:\ Android\sdk\sources\android-17'for iClasspathEntry必须是绝对的"
显然这条路是错的,但我到底在哪里改变呢?
在Java中,我们在编译时设置类路径来编译Java文件,但为什么我们需要在运行时设置类路径?JVM需要类路径运行.class文件的任何具体原因?