我想知道如何在Eclipse中的源代码包(即/src/resources/images/或/resources/images/)内部或外部的资源文件夹中创建一个具有资源(图片、PDF)的可运行JAR。目前,我的资源在我的eclipse项目的source文件夹中,但我也在包中的它自己的文件夹中尝试过。该程序在eclipse中构建和执行得很好,但当我将其导出为可运行的jar时,在桌面上运行时,我总是得到一个file not found异常。我用下面这样的字符串声明我的文件
private String file = "src/resources/orderForm.pdf";
您将需要执行getResourceStream,并确保PDF被内置到JAR中。因为您在源文件夹中有它们,所以它们应该。
假设您有src/resources/orderform.pdf下的pdf,它将以/resources/orderform.pdf的形式在jar文件中结束。您将打开/resources/orderform.pdf的资源流。
如果您必须有一个诚实的文件,那么您需要这样的代码:将PDF作为资源流读取,FileOutputStream将其输出到临时文件,然后使用该文件。或者,您无法将PDF打包到JAR中。
public class PDFWriter {
public static final String testDir = "C:\\pdftest\\";
public static final String adobePath = "\"C:\\Program Files\\Adobe\\Reader 10.0\\Reader\\AcroRd32.exe\"";
public static void main(String[] args){
try {
new PDFWriter().run();
} catch (Exception e) {
e.printStackTrace();
}
}
public void run() throws Exception {
InputStream in = this.getClass().getResourceAsStream("/resources/test.pdf");
new File(testDir).mkdirs();
String pdfFilePath = testDir + "test.pdf";
FileOutputStream out = new FileOutputStream (pdfFilePath);
byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
out.write(buffer, 0, len);
len = in.read(buffer);
}
out.close();
Runtime rt = Runtime.getRuntime();
String command = adobePath + " " + pdfFilePath;
rt.exec(command);
}
}
我有独立的应用程序,它绑定在可执行的中。在可执行的清单文件中,有一个class-path条目,其中列出了所有依赖的(包括所有的日志实现jar)。这个可执行jar还包含文件。 使用这种结构,当我使用简单的命令运行应用程序时,应用程序在正确的日志记录下运行良好。但这里的主要问题是,要更改日志级别,需要打开jar文件,而我不能要求客户端这样做。所以我将放在了jar外部,但现在所有日志记录都发生在控制台上
问题内容: 我在程序中使用以下代码来加载属性文件: 该代码在Eclipse中运行良好。然后,将程序打包到一个名为MyProgram.jar的JAR中,然后运行它,第二行得到了NullPointerException。JAR不包含属性文件,它们都位于同一目录中。我正在使用Maven创建JAR。我该如何解决这个问题? 更新:我不想将属性文件添加到JAR中,因为它将在部署时创建。 问题答案: Balus
我正在尝试将我的checkers程序从Eclipse导出到一个可运行的jar文件中。我得到一个jar文件,但它不运行。。。它给了我关于未找到的类的神秘错误消息。jar文件的意义不在于它包含了它所需要的所有类吗?我不知道现在该做什么。 这是我运行罐子时得到的: 知道是的一个内部类可能会有所帮助?有什么问题吗?我在导出向导中尝试了“提取所需库”和“打包所需库”。 我还尝试从命令行使用,但效果不太好。以
我有一个项目叫MyTest。它有三类: 第一个类实现了工具接口(这是导致问题的类),为了简单起见,我做了空实现: 第二类是普通类: 第三类也是普通类: 我将项目导出为“Runnable Jar”(即在Eclipse中:项目 我在“Launch Configuration”和“Packaged required libraries into generated JAR”中设置“A2”作为主类,输出J
我使用NetBeans的教程在java中创建了一个程序,它在Windows中运行得很好。但是,当我尝试运行相同的在Linux(RedHat)中,我遇到以下异常: 线程“main”java中出现异常。lang.UnsupportedClassVersionError:JVMCFRE003主版本错误;类=我的/数字编辑/数字编辑UI,偏移量=6 通过运行此命令: java-jar NumberAddi
我知道这是一个常见的问题,但我已经尝试了很多事情来使这起作用。 主类名:Test 我包含了带有属性的,如下所示: null 在我的部署简介中,我包括: lib目录 文件的组贡献者(,我正在使用的一个外部)的所有合并内容 注意:我使用的是JDeveloper12c IDE 无法运行jar文件:无法找到或加载主类Hello