Tag: jar

运行Jar文件时出现问题

我已经将一个java项目编译成一个Jar文件,并且在运行它时遇到了问题。 当我跑: java -jar myJar.jar 我收到以下错误 Could not find the main class: myClass 类文件不在jar的根目录中,所以我尝试更改主类的路径以匹配类文件的路径,我得到了同样的问题。 我应该扁平化文件结构吗? 如果是这样我该怎么做 如果有任何用途,我正在使用Ant来构建Jar文件。 UPDATE 这是jar和相关Ant部分的内容,我已将我工作的公司的名称更改为“org”: META-INF/ META-INF/MANIFEST.MF dataAccessLayer/ dataAccessLayer/databaseTest.class org/ org/eventService/ org/eventService/DatabaseObject.class org/eventService/DatabaseObjectFactory.class org/eventService/DbEventClientImpl$HearBeatMonitor.class org/eventService/DbEventClientImpl.class org/eventService/EmptyQueryListException.class org/eventService/EventHandlerWorkItem.class org/eventService/EventProcessor.class org/eventService/EventTypeEnum.class org/eventService/EventWorkQueue$MonitorThread.class org/eventService/EventWorkQueue$PoolWorker.class org/eventService/EventWorkQueue.class org/eventService/FailedToLoadDriverException.class org/eventService/IConnectionFailureListener.class org/eventService/InvalidEventTypeException.class org/eventService/JdbcInterfaceConnection.class org/eventService/NullArgumentException.class org/eventService/OracleDatabaseObject.class org/eventService/ProactiveClientEventLogger.class org/eventService/ProactiveClientEventLoggerException.class org/eventService/PropertyMap.class org/eventService/SQLServerDatabaseObject.class org/eventService/TestHarness.class org/eventService/Utilities.class 而ant目标:

Google Play游戏服务排行榜 – 无法在Eclipse中正确设置jar

我正在尝试在Eclipse中设置我的项目以实现新的Android Play Services 。 您可以在我的下面3个屏幕截图中看到BibleTriviaLite是我的项目,然后BaseGameUtils和google-play-services_lib是我导入的两个项目,创建了库,然后使BibleTriviaLite引用它们。 现在我在每个项目中都有错误。 基本上每个导入和内置类(TextView,Button,Bundle,Context等)都无法解析为一个类型。 我猜我的jar子搞砸了。 我从来没有完全理解它们,所以我很难将所有的jar子放在正确的位置并使我的项目正常工作。 在导入2个Android库(BaseGameUtils和google-play-services_lib)之前,BibleTriviaLitefunction齐全,所以我知道代码可以运行。 我的问题是如何成功地将这两个Android库成功集成到我的主项目中,以便我可以继续集成排行榜。 如果需要任何特定代码进行故障排除,请告诉我,我可以提供。 我在下面提供了3个截图,以显示我的所有jar子在3个项目中的每个项目。

写一个正在运行的jar子

我正在尝试创建一个Jar文件,其中包含Jar内部的数据,这些数据在程序的执行之间持续存在。 我知道还有其他方法可以保存数据,但我想要一个完全独立的Jar文件。 我有一些似乎有用的东西,我希望对你在我的方法中看到的任何漏洞提出反馈,因为有些东西让人感觉很乱。 我正在做的是这样的: Jar包含一个文件saves.txt。 该文件包含一个数字:在开头,它是1。 运行Jar时,它会读取此文件(使用getResourceAsStream)并将该数字显示给用户。 然后,我使用ZipFile API将整个jar解压缩到一个临时目录。 既然saved.txt是一个文件(不是资源),我递增数字并覆盖临时目录中的文件。 然后我使用JarOutputStream将临时目录(包括更新的saves.txt文件)的内容重新压缩回同一个jar 。 最后,我删除临时目录并退出程序。 当用户再次运行jar时,saved.txt文件已更新。 我正在做所有这些麻烦来解决这个bug,你不能只更新jar中的单个文件: http : //bugs.java.com/bugdatabase/view_bug.do? video_id = 4129445 而且我没有使用jar -u命令,因为我不想要求最终用户拥有JDK。 我可以看到这方面的一些问题,但它们都不是我的交易破坏者: 这不适用于签名的jar子。 这对我来说不是问题,因为无论如何都不会签署这些jar子。 如果jar在没有写权限的目录中,这将不起作用。 我可以向用户发出警告。 如果在程序运行时jar在档案资源管理器(如7zip)中打开,则无法使用此function。 我可以通过向用户显示要求他们关闭它的消息来解决这个问题。 这使得部署新版本的jar很烦人,因为保存在jar中。 用户将不得不以某种方式从旧jar加载数据,或者开始清理。 我也没关系。 所以,我的问题是: 上面的任何一个看起来特别可怕吗? 如果是这样,为什么? 编辑:我应该注意,我并不是在问这个方法是标准的还是混乱的,我在询问代码 。 有什么理由代码不起作用吗? “在jar子运行时重写jar的内容”步骤让我最紧张,但我找不到任何文档说你不能,甚至不应该这样做。 如果我在程序中间执行此操作,那么可能会发生不好的事情,但这只会发生在程序的最后。 覆盖jar是程序的最后一行。 最重要的是,这一切似乎都有效! 我在Windows 7,Windows 8和Mac上测试了这个。 因此,如果有人知道任何文档,或者可以想到这个代码不起作用的极端情况,我肯定会感激它。 这是一张显示以上所有内容的MCVE。 为此,您必须将此类编译为可运行的jar文件以及包含单个数字的saves.txt文件。 import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; […]

导出.jar时出现FileNotFoundException

在我的客户端/服务器应用程序中,我需要从客户端向服务器发送一些文件( .txt , .doc等)。 当我在Eclipse中运行我的代码时,它可以工作,但是当我导出Applet的签名JAR时,它没有。 它会抛出FileNotFoundException 。 我尝试以多种方式保存文件但没有成功。 public static boolean saveFile(File sourceFile) throws IOException { DirectoryChooserDialog dialog = new DirectoryChooserDialog(); filePath = dialog.getDestinationFolder(); if (filePath != null) { InputStream inputFile = ClassLoader.getSystemResourceAsStream(“”+sourceFile); filePath += File.separator + sourceFile.getName(); FileOutputStream outputFile = new FileOutputStream(filePath); int byteLetti = 0; while ((byteLetti = inputFile.read(buffer)) >= 0) { outputFile.write(buffer, […]

Java:在运行时将类添加到Jar存档

我想在运行时将一些编译类(.class文件)添加到当前Jar文件中的目录(包) 我怎样才能做到这一点? 谢谢

如何更改JAR文件中的常规JAVA COFFEE CUP图标

我可以在我的Frame中更改JAVA COFFEE CUP图标(向上,向左),但是如何更改RUNNABLE JAR文件的一般JAVA COFFEE CUP图片? 是否可以只更改一个JAR文件的文件图标? 谢谢

当我JAR我的程序时,Java在哪里放置资源文件?

一直在寻找这个过去2个小时,但找不到任何东西(我找到了相同问题的解决方案,但有图像,而不是文本文件)。 差不多,我制作了一个读取文本文件的程序。 该文件是名称和ID列表。 使用Eclipse,我将文件放在我的src文件夹中,并在程序中将路径文件放入其中。 喜欢这个: in = new BufferedReader(new FileReader(curDir+”\\bin\\items.txt”)); 其中curDir是用户的当前目录(通过System.getProperty(“user.dir”)找到)。 现在,问题是,当我从Eclipse运行它时,程序运行正常,但是当我尝试使它成为可运行的JAR然后运行它时,程序运行,但是文本文件中的信息没有加载。 看起来Eclipse并没有将文本文件与JAR放在一起。 编辑:解决了问题? 那么JAR文件需要在包含所有原始文件的文件夹中吗? 我很困惑,那么什么是JAR文件?

基于一个源文件的依赖关系创建Java Eclipse项目的子集

我有一个Eclipse Eclipse项目/工作区,其中包含偶尔提供给客户的function。 我们都是研究人员所以这是非常非正式的; 我用文档制作一个JAR和一个Word文件,然后发送给他们。 我更喜欢向他们发送一个只包含他们实际需要的JAR文件,以简化操作。 如果他们需要X,Y,Z和W类,那么我发送一个包含X,Y,Z和W的JAR文件,以及它们所依赖的所有类。 现在我以无望的手动方式执行此操作(我创建一个新项目,拖动X,Y,Z和W,然后拖动我需要修复编译器错误的任何内容)。 在Eclipse中自动化它的正确方法是什么? 编辑:为了清楚起见,涉及的Eclipse项目包含的内容比客户实际需要的多得多。 编辑:此外,没有涉及反思; 我可以确信编译器知道发生了什么。 我是那个编写代码的人,我避免像瘟疫这样的反思。 我使用reflection的唯一地方是模仿Collections.toArray(),在这种情况下,唯一可能导致问题的类是用户提供的类。

如何在android中的一个应用程序中的单独jar中有多个应用程序类

我有一个从Application扩展的Appp类,并在manifest中调用Appp。 还有另外两个jar,每个作者都称它们在清单中称为Application标签。 根据如何处理android问题中的多个应用程序类,要从Application扩展多个应用程序类,我们应该从另一个应用程序类扩展一些应用程序类,并在manifest中调用上层类。 但就我而言,我没有消息来源,只有jar子。 我能做什么?!

从JAR运行时“找不到合适的驱动程序”

我开发了一个小游戏,其中用户输入的文本需要在MS Access数据库中发布。 这一切在NetBeans中都可以正常工作,但每当我从JAR文件访问它时(最终我需要将其传递给我的客户端),它不会向数据库发布任何内容。 实际上它返回以下错误: java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:\Users\Paul\Desktop\Spelli\RispostiDB.mdb 这是相关代码: public void postAnsDB() { String tableName = “Form”+studentGroup +”_”+studentSurname+”_”+studentName+””; answerModifier(); try{ String strurl=”jdbc:ucanaccess://C:\\Users\\Paul\\Desktop\\Spelli\\RispostiDB.mdb”; Connection conn=DriverManager.getConnection(strurl, “”, “”); Statement stmt=conn.createStatement(); //Post Student Details to DB String post = “INSERT INTO “+tableName+”(ID, responses, Correct_Response, Valid_Invalid, Marks) VALUES (‘”+ansID+”‘, ‘”+answer+”‘, ‘”+correct+”‘, ‘”+valid+”‘, ‘”+marks+”‘);”; stmt.executeUpdate(post); } catch(Exception […]