相关疑难解决方法(0)

弹簧内部看不到jar中的文件

所有

我在里面创建了一个包含以下MANIFEST.MF的jar文件:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.)
Main-Class: my.Main
Class-Path: . lib/spring-core-3.2.0.M2.jar lib/spring-beans-3.2.0.M2.jar
Run Code Online (Sandbox Code Playgroud)

在它的根目录中有一个名为my.config的文件,它在我的spring-context.xml中引用,如下所示:

<bean id="..." class="...">
    <property name="resource" value="classpath:my.config" />
</bean>
Run Code Online (Sandbox Code Playgroud)

如果我运行jar,除了加载特定文件外,一切看起来都很好:

Caused by: java.io.FileNotFoundException: class path resource [my.config] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/work/my.jar!/my.config
        at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:205)
    at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
    at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:32)
    at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:1)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
    ... 22 more
Run Code Online (Sandbox Code Playgroud)
  • 类从jar内部加载
  • spring和其他依赖项从分隔的jar中加载
  • 加载了spring上下文(新的ClassPathXmlApplicationContext("spring-context/applicationContext.xml"))
  • my.properties加载到PropertyPlaceholderConfigurer("classpath:my.properties")
  • 如果我将.config文件放在文件系统之外,并将资源url更改为'file:',一切似乎都很好......

有小费吗?

spring jar classpath

82
推荐指数
4
解决办法
7万
查看次数

Java Spring - 如何使用classpath指定文件位置?

如何使用类路径指定Spring项目中文件的位置?

这就是我目前所拥有的:

FileReader fr = new FileReader("C:\\Users\\Corey\\Desktop\\storedProcedures.sql");
Run Code Online (Sandbox Code Playgroud)

这是我的桌面硬编码.我想要的是能够使用我的项目中的文件的路径.

FileReader fr = new FileReader("/src/main/resources/storedProcedures.sql");
Run Code Online (Sandbox Code Playgroud)

有什么建议?

java spring classpath

33
推荐指数
3
解决办法
10万
查看次数

标签 统计

classpath ×2

spring ×2

jar ×1

java ×1