标签: classpath

弹簧内部看不到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万
查看次数

类路径和构建路径之间有什么区别

我对这两个术语感到困惑.

另外我应该怎么做才能在Spring MVC项目的src文件夹下创建一个文件?当我使用File对象创建时,它在C:\ SpringSourceTool中创建文件......我想这是ClassPath对吗?

如何获取applicationcontext应用程序的文件夹或根目录?

java classpath buildpath

79
推荐指数
4
解决办法
5万
查看次数

编译时间与运行时间依赖关系 - Java

Java中的编译时间和运行时依赖性有什么区别?它与类路径有关,但它们有何不同?

java runtime classpath compile-time

79
推荐指数
5
解决办法
4万
查看次数

如何正确使用ClassLoader.getResources()?

如何使用ClassLoader.getResources()从类路径中查找recursivly资源?

例如

  • 找到META-INF"目录" 中的所有资源:想象一下

    getClass().getClassLoader().getResources("META-INF")

    不幸的是,这只会检索URL到这个"目录".

  • 所有资源命名bla.xml(recursivly)

    getClass().getClassLoader().getResources("bla.xml")

    但是这会返回一个空的Enumeration.

并作为一个奖金问题:如何ClassLoader.getResources()区别ClassLoader.getResource()

java resources classpath classloader getresource

78
推荐指数
5
解决办法
19万
查看次数

使用其他classpath选项调用"java -jar MyFile.jar"

我创建了一个包含所有编译内容的jar文件.另外,我的ant构建脚本将所需的lib复制到子文件夹"libs"中.结构如下所示:

MyProgram.jar
libs/
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试运行我的程序时,我收到以下错误:

java -cp ".:/home/user/java/MyProgram/jar/libs" -jar MyProgram.jar
java.lang.ClassNotFoundException: org.postgresql.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at database.PostgresQL.getConnection(PostgresQL.java:38)
    at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:19)
    at main.Main.calculateCorrelationMatrix(Main.java:51)
    at main.Main.main(Main.java:28)
java.lang.NullPointerException
    at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:25)
    at main.Main.calculateCorrelationMatrix(Main.java:51)
    at main.Main.main(Main.java:28)
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

java jar classpath

78
推荐指数
2
解决办法
8万
查看次数

是否可以让Ant打印出特定目标的类路径?如果是这样,怎么样?

我正在尝试获得一个目标来构建其元素中有相当长的列表<pathelement location="${xxx}"/><path refid="foo.class.path"/>元素<path id="bar.class.path">(在build.xml文件中).我一直得到"包com.somecompany.somepackage不存在"错误,我很难追逐这些包并确保我已经从我们的存储库中同步它们.

我是这个团队的新手,所以我对构建不熟悉,但如果可能的话,我更愿意自己解决这个问题(所以我不打扰其他非常繁忙的团队成员).我对Ant的经验非常有限.

我认为如果我可以让Ant打印出我正在尝试构建的目标的类路径,那将节省我很多时间.

java ant classpath target

76
推荐指数
2
解决办法
4万
查看次数

Java错误:只能导入类型.XYZ解析为一个包

我收到错误:"只能导入一个类型.XYZ会解析为一个包."

有人在这里解释了原因,但我不确定我应该做些什么来解决这个问题.仅供参考:我正在使用Eclipse.我添加了下面导入的代码.java.util.*import工作正常.

 <%@ page import="java.util.*"%>
 <%@ page import="org.eresearch.knowledgeportal.model.Category"%>
 <%@ page import="org.eresearch.knowledgeportal.dao.CategoryDao"%>

 <% 
  CategoryDao catDao = new CategoryDao();
  ArrayList<Category> catList = catDao.selectCategory();

 //
 %>
Run Code Online (Sandbox Code Playgroud)

编辑:实际错误如下:

 org.apache.jasper.JasperException: Unable to compile class for JSP: 

 An error occurred at line: 7 in the generated java file
 Only a type can be imported. org.eresearch.knowledgeportal.model.Category resolves to a package
Run Code Online (Sandbox Code Playgroud)

java jsp tomcat classpath

74
推荐指数
3
解决办法
16万
查看次数

Java:如何从命令行导入jar文件

我正在尝试使用Java从命令行(Windows)调用类(main方法).
该类导入其他类(其他jar).

我总是从我的主程序导入的类中获得"class not found exception".

这是我试过的:

  • 添加CLASSPATH环境.var与引用的lib所在的路径(不工作)

  • java -jar myjar.jar从命令行调用" " 时我尝试了所有这些不同的参数:" -classpath lib/"," -classpath ./lib/"," -classpath lib"," -cp lib/*"," -cp lib/\*"," -classpath lib/referenced-class.jar"," -classpath ./lib/referenced-class.jar"(lib是引用的jar所在的位置)

  • 我尝试在我的主要类所在的jar中包装所有引用的jar ...

  • 尽管如此,我还尝试使用以下内容在Manifest文件中指定类: Class-path referenced-jar.jar我也尝试过Class-path lib/referenced-jar.jar

java command-line jar classpath

73
推荐指数
3
解决办法
21万
查看次数

添加到OSX上的类路径

谁能告诉我如何添加到OSX上的类路径?

java classpath

72
推荐指数
3
解决办法
12万
查看次数

如何从类路径加载/引用文件作为File实例

我有一个在我的类路径中的文件,例如com/path/to/file.txt.我需要加载或引用此文件作为java.io.File对象.这是因为我需要使用java.io.RandomAccessFile(文件很大,我需要寻找某个字节偏移量)来访问该文件.这可能吗?构造函数RandomAccessFile需要File实例或String(路径).

如果有另一个解决方案寻求某个字节偏移并读取该行,我也对此持开放态度.

java classpath

70
推荐指数
4
解决办法
11万
查看次数