我可能尝试过,没有用。
该文件是:
/Users/Toto/Desktop/Titi/IUT/Java/TP2/project/src/fichierPointJava/img1.png
fichierPointJava
是软件包的名称。
当我位于包含build.xml的项目中时,我启动了ant
这是我测试过的代码:
URL urlImage1=this.getClass().getClassLoader.getResource("/src/fichierPointJava/img1.png");
URL urlImage1=this.getClass().getClassLoader.getResource("/fichierPointJava/img1.png");
URL urlImage1=this.getClass().getClassLoader.getResource("fichierPointJava/img1.png");
URL urlImage1=this.getClass().getClassLoader.getResource("/img1.png");
URL urlImage1=this.getClass().getClassLoader.getResource("img1.png");
System.out.println("Value = "+ urlImage1);
我制定了一份遗嘱,有或没有this
,有或没有getClassLoader()
希望有人能帮助我。
谢谢
如果您具有以下包装布局
+---src
| img0.png
\---fichierPointJava
| img1.png
| <YourClass.java>
那么以下应该工作
// using the classloader in instance context
getClass().getClassLoader().getResource("img0.png");
getClass().getClassLoader().getResource("fichierPointJava/img1.png");
// using the classloader in class/static context
<YourClass>.class.getClassLoader().getResource("img0.png");
<YourClass>.class.getClassLoader().getResource("fichierPointJava/img1.png");
// using the class in instance context
getClass().getResource("../img0.png");
getClass().getResource("/img0.png");
getClass().getResource("img1.png");
getClass().getResource("/fichierPointJava/img1.png");
// using the class in static/class context
<YourClass>.class.getResource("../img0.png");
<YourClass>.class.getResource("/img0.png");
<YourClass>.class.getResource("img1.png");
<YourClass>.class.getResource("/fichierPointJava/img1.png");
使用时,ClassLoader
您需要传递资源的完整合格名称,即包括程序包名称。
当使用时,Class
路径-如果不是以/
- 开头,则是相对于试图加载资源的类所在的包的路径,否则,它是资源的绝对名称。
您可以在javadocs中阅读有关ClassLoader#getResource和Class#getResource的更多信息。
确保正在运行以创建jar的ant目标包含*.png
资源。您可以通过使用所选的zip工具打开广口瓶来验证这一点。该目录src
不应包括在内。
问题内容: 我试图了解类路径是如何工作的。在网上搜索之后,这是我到目前为止所到达的地方: 我已经添加了 在。顺便说一下,我正在运行Ubuntu。 Java找到路径并进行编译而没有问题。 问题是,如果我更改CLASSPATH,然后执行以下操作:,则不会应用新的CLASSPATH。当且仅当我重新启动系统时,它才适用。例如,如果我删除了 行,然后我执行/ etc / environment的源代码,最后
现在我试着翻阅了答案和其他问题,但所有的答案都是基于已经获得的关于编程之类的知识。请帮我一步一步地解决这个问题。
我正在Eclipse中使用Maven/Tomcat/Java。我已经制作了这个java servlet,但是当我转到localhost:xxxx/myapp/rest时,我的get请求没有得到响应,我得到的是404。我想如果我将@path设置为/rest,我就可以向url发送一个GET请求,但它不起作用。有人知道是什么问题吗?谢谢你!
(还要注意,我处理的是其他系统的抽象路径,这与任何本地文件系统无关) 我想要的行为的进一步示例:
问题内容: 我正在编写一个使用Oracle JDBC驱动程序的Java程序。我已经在我的类路径中设置了它。当我在IDE中运行程序(作为jdbc作为库添加)时,程序运行正常。当我尝试部署它时,它完全忽略了classpath中的清单,并给了我一个NoClassDefFoundError。 我想使用客户端的JDBC驱动程序(已安装的JDBC驱动程序),并且不提供自己的驱动程序。我打包了来自JDevelo
问题内容: 我正在用Java编写截屏应用程序。我决定使用Xuggle进行操作,并且按照xuggle Wiki上的安装说明进行操作。 我使用%XUGGLE_HOME%\ bin和%XUGGLE_HOME%\ lib设置了PATH环境。一切似乎都还可以。我将此应用程序作为RCP插件。我在“ RCP-mail”模板上进行了尝试,插件正常工作,并且视频生成正确。 但是,当我决定在“真实”应用程序上使用它时