我有一个Java桌面应用程序(主项目)和另一个在NetBeans中包含一系列软件包的项目。一些软件包使用spring for JDBC和IOC。
在调试中运行时出现以下错误:
Caused by: java.io.FileNotFoundException: class path resource [config.xml] cannot be opened because it does not exist
配置文件应该去哪里?类路径究竟在哪里?是dist
,build
,在调用spring的项目的根目录中,还是在主项目(桌面应用程序)中?
困惑..
答案 0 :(得分:1)
使用java
命令运行应用程序时定义了类路径。您可以使用以下命令指定它:
java -cp $path my.Main
其中 $ path 是您的类路径。它是一个:
- 分隔的(;
在Windows上)JAR文件和/或包含已编译.class
文件的目录列表。
如果您运行的程序如下:
java -cp configdir my.Main
然后将你的spring配置放在configdir(完全限定的路径)中,那么应该发现它。
NetBeans :虽然我不是netbeans用户,但它可能提供了多种方法来完成您想要的任务:
在运行配置中(即您定义正在运行的类,命令行参数等),您可能可以将项添加到类路径中。这些可能是目录或单个文件
在编译器设置中,您可以告诉NetBeans从源位置自动复制某种类型的文件(如属性文件,XML配置文件)到NetBeans放置您的类的位置文件。
如果将config.xml
文件放在NetBeans正在编译.class文件的目录中
答案 1 :(得分:1)
将它放在应用程序的根文件夹中
如果您在名为Spring的文件夹中创建了应用程序,则应将文件放在该文件夹中
答案 2 :(得分:1)
无视oxbow_lakes的答案。 NetBeans修改了CLASSPATH
,因此IDE之外的内容无法衡量IDE中的内容。