Tag: jar

Maven – 无法执行JAR

在构建了一个示例mvn项目之后,我添加了我的org.restlet依赖项和Java代码。 然后,我通过mvn install成功构建了我的JAR。 最后,我在尝试运行JAR时遇到了错误。 vagrant$ java -jar target/my-app-1.0-SNAPSHOT.jar Failed to load Main-Class manifest attribute from target/my-app-1.0-SNAPSHOT.jar

图像不会出现在jar子里

所以我正在使用Java制作一个基本的文本冒险游戏,我决定包含图像。 我用来将我的图像加载到程序中的代码是这样的: imagePanel = new JPanel(); imagePanel.setBounds(50, 50, 400, 260); imagePanel.setBackground(Color.BLACK); con.add(imagePanel); imageLabel = new JLabel(); image = new ImageIcon(“.//res//towngate.jpg”); imageLabel.setIcon(image); imagePanel.add(imageLabel); 当我在eclipse中运行程序时,一切都运行得很好,但是当我将它导出为jar时,没有任何图像出现。 如果有人能帮我解决这个问题,我将非常感激。 谢谢!

Jar将图像作为资源

我正试图从我的jar子里加载一个图像。 但无论我为getResource()提供什么字符串,它总是返回null。 try { System.out.println(Bootstrapper.class.getResource(“./img/logo.png”).toURI().getPath()); } catch (URISyntaxException ex) { Logger.getLogger(CrawlerFrame.class.getName()).log(Level.SEVERE, null, ex); } ImageIcon ii = new ImageIcon(Bootstrapper.class.getResource(“./img/logo.png”)); setIconImage(ii.getImage()); net.sharpcode.crawler.ui.CrawlerFrame中net.sharpcode.crawler.ui.CrawlerFrame.init(CrawlerFrame.java:35)中的线程“AWT-EventQueue-0”java.lang.NullPointerException中的exception。(CrawlerFrame.java: 28)at net.sharpcode.crawler.Bootstrapper $ 1.run(Bootstrapper.java:55) 我试过了: getResource(“”) getResource(“.”) getResource(“./”) getResource(“/img/logo.png”) Bootstrapper.class.getProtectionDomain().getCodeSource().getLocation().getPath()

使用jar命令更新特定目录中JAR内的文件

所以我一直在高低寻找答案,显然没有找到满意的答案。 问题是我想在JAR中更新JAR(或任何文件),但是文件位于文件夹结构中,我希望避免在JAR外部再现,以便我可以更新它。 例: Foo.jar (root directory) / |->/folder1 | |->/folder2 | |->/foo | |–>/bar | |—->/baz | |——>file_to_update.jar 所以,如果我想使用jar命令更新它,我将首先在JAR之外创建相同的文件夹结构然后执行 jar -uf Foo.jar -C foo/bar/baz/file_to_update.jar 但是我想避免创建这个文件夹结构,因为对于某些文件它可能非常深,而且因为我可能需要在容器JAR上更新所选文件,所以我不想创建具有特定结构的这么多文件夹所以jar命令可以更新它们。 换句话说,我想告诉jar命令使用特定源目录中的特定源文件更新特定目标目录中的特定目标文件。 就是这样的 jar -uf Foo.jar -sourceFile /x/y/z/filetoupdate -destFile /a/b/c/filetoupdate (我知道这种语法不起作用,只是为了举例说明我的需要)。 可以这样做吗? 当jar命令找到匹配的东西时,我绝对需要模仿整个文件夹结构,因为我可能需要更新文件夹结构中100个文件夹深度的文件。 。 重现只是为了更新文件,这将过于复杂。 此外,我知道可以使用常规的ZIP实用程序,但是我在Linux中可用的那个实际上并没有更新文件,即使它说它已经完成(重新打开jar时,它的旧版本完好无损),现在我不能去寻找另一个(公司政策,没有时间,测试问题,你的名字)。 最后,如果我可以从命令行执行此操作,则意味着我可以创建批处理文件来更新大量特定文件,而无需创建文件夹结构。 我忘了说我也想避免不得不解开,更新,重新调整整个事情,因为这个JAR可以上升到2GB所以这需要一段时间来做到这一点,基本上,添加一点资源文件到我的巨大的JAR。 非常感谢任何帮助!

Java – 在JAR文件中写入txt

可能重复: Java程序如何使用.jar中的文件进行读写? 如何从JAR java编译的项目中写入.txt文件? 当我运行我的项目时,它不会给出错误,但它不会写入JAR文件中的.txt。 我使用以下方法制作JAR文件: netbeans clean /build tool 码: public class FileIO { private File file; private Scanner filescScanner, lineScanner; private PrintWriter fileWriter; private String[][] data; public FileIO () { data = new String[100][2]; } public String[][] getLineScores(){ return this.loadHighscores(this.getClass().getResourceAsStream(“LineHighscores.txt”)); } public String[][] getTimeScores(){ return this.loadHighscores(this.getClass().getResourceAsStream(“TimeHighscores.txt”)); } public void setLineScores( String name,String lines […]

Hadoop 2.0 JAR文件

尝试在Map / Reduce程序中实例化Configuration对象时出现意外错误。 错误如下: java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory 我正在使用Hadoop 2.2.0。 该程序与早期版本的Hadoop一起运行良好。 但是,现在我需要为版本2编写此作业提交者,这似乎不起作用。 作为旁注,我找不到此版本所需的所有JAR文件。 我已经阅读了类似问题的以下解决方案: hadoop 2中的hadoop jar文件在哪里? 。 但是,这对我不起作用。 它因上述运行时错误而失败。 我尝试使用较旧的JAR文件来解决这些问题,但新错误仍在继续。 有没有人有这个问题的解决方案? 我正在使用NetBeans,如果由于某种原因有任何不同。

从JAR内部运行* .exe文件

我有一个巨大的JAR文件,我用Maven Shade插件创建。 我用java -jar foo.jar运行它,我的UI打开了。 现在我想执行*.exe文件,该文件也在该JAR文件中,我该怎么做? 我尝试将exe放到我的类路径并从那里运行它,但在尝试后我发现classpath实际上是我的JAR所在的位置。 有什么建议么? 在这里找到了这个东西,但这真的是最好的解决方案吗? 好像很多工作,我想我在这里有不同的情况,因为我可以自己定义exe的位置,JAR是由我创建的。 运行包装在jar中的exe 为什么我需要这个? 我想给用户一个文件可执行文件,他可以运行,但我的程序使用* .exe。 我应该把exe放在我的jar旁边,并且会有2个文件或者有我的要求的解决方案吗?

制作一个单jar的java应用程序

如果我有一个由几种不同类型的文件(图片,声音等)和多个jar依赖项组成的java项目,那么将它们全部打包到一个可以双击的jar中的好方法是什么? 我知道jar子本身是相当愚蠢的,因为他们不会在自己内部寻找他们所依赖的文件(我只是在一丝沮丧之后才意识到这一点(轻描淡写))。 – 如果jar A依赖于jar B中包含的类,那么将jar B放入jar A中是行不通的。 Jar A必须与jar B在同一目录中。 …现在,我知道我可以从所有其他jar中提取所有文件并将所有文件放在同一目录中。 这样做有点工作,但我不想这样做,因为:1。它会很混乱2.它仍然无法解决需要将声音文件放在与最终jar相同的目录中的问题。 (无论出于何种原因,声音文件的行为与内部jar完全相同) 基本上,我只是想做到这一点,以便我的应用程序所依赖的文件不是令人讨厌的可见和炫耀。 所以,如果有一些解决方案,我可以将所有内容放在一个jar中并让它成为运行整个程序的唯一必要文件,那将是最佳的。 但是,我愿意接受创造性/创造性的方法来绕过这个问题,比如让父目录中的批处理脚本执行jar或其他东西。 (我说“或者什么”,因为那个确切的场景只适用于Windows操作系统….你知道我的意思!)

我的代码在Eclipse中编译但我在运行时获得了一个ClassNotFound如何修复它?

什么会导致jar成功添加到Eclipse Java项目,但是在运行时,找不到Class的那些类与ClassNotFoundexception?

使用外部JARS创建Java applet

我在Netbeans中创建了一个使用多个外部库的Java Applet。 当我在Netbeans中运行applet.java文件时,它工作正常,我试图在网页中获得相同的结果。 当我在build-folder中运行自动创建的applet.html文件时,它不会加载外部库,即使我已在APPLET archive-tag中指定它们并将它们移动到同一文件夹中。 这是我的html文件: Applet HTML Page Applet HTML Page Generated by NetBeans IDE 这些库是第三方java(jfreeChart和SQL-JDBC驱动程序)