首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在以编程方式创建的.jar文件中加载类

在以编程方式创建的.jar文件中加载类
EN

Stack Overflow用户
提问于 2012-11-10 04:31:09
回答 1查看 868关注 0票数 0

我的目标是:使用SableCC在运行时生成多个解析器/词汇器,并为解析和词法加载它们的实例。

所以我想我的舞步是:

  1. 使用.java生成SableCC文件。我想我已经做到了,好吧。
  2. .java文件编译为.class文件。我用JavaCompiler做了这件事。我觉得这也挺好的。
  3. 将生成的文件放入.jar文件中,保留文件结构。我使用作为模板完成了这一工作。使用.jar检查JarBrowser文件显示包的文件结构被保留。使用它,Jar看起来与常规的.jar文件相同。但是,使用JarBrowser,我的jar不会出现在"CLASSPATH目录“下。这使我相信我的.jar文件没有被正确创建。
  4. .jar文件加载到URLClassLoader的实例中。我正在尝试使用Class.forName()加载它,但它似乎不起作用。

每当我做第4步时,我就会得到一个java.lang.ClassNotFoundException。有没有人知道这是为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-10 19:10:00

原来,我有一个斜杠作为文件/目录名称的前缀。我从文件名中截断了父目录,但是没有考虑父目录中的尾随斜杠,所以/dir1/file1被执行,而不是dir1/file1。我想JAR文件很挑剔。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13319256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档