Tag: jar

如何将库与我的jar组合?

好的,所以我写了一个程序,利用第三方开源库,我想用我的程序打包在一个jar子里。 我正在使用netbeans 6.8和我尝试过的所有java总是吐出错误: java.lang.NoClassDefFoundError: libraryname; 关于主题 :我也想知道如果可能的话,如何通过netbeans制作可执行jar(exe)。 (我见过用java编写但是是.exe的程序) EDIT发现了一个名为FatJar的eclipse插件,它可以做我想要的,但是我找不到类似netbeans的东西,有这样的东西吗?

双击JAR文件不会打开命令提示符

我想通过双击运行Jar文件。 以下是其中唯一存在的Java类文件。 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Sysout{ public static void main(String[] args) throws IOException{ System.out.println(“Hello World!”); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String msg = br.readLine(); System.out.println(msg); br.read(); } } 并且Manifest文件已定义Main-Class。 使用此链接,我通过双击批处理文件成功运行了Jar文件。 这将打开命令提示符并运行定义的主类。 但是,如果我直接双击Jar文件,则没有任何反应。 我还检查了这个链接并将我的.jar与javaw.exe相关联。 此链接也提示相同。 还尝试将.jar与java.exe相关联 发生的事情是命令提示符打开几分之一秒并消失。 即使我希望用户输入一些数据,双击操作也不会等待用户输入任何内容。 哪里有问题?

使用java从jar作为资源播放.wav文件

我想使用java代码播放.wav文件,该代码在jar文件中作为资源。 我的代码看起来像这样 – try { URL defaultSound = getClass().getResource(“/images/ads/WindowsNavigationStart.wav”); // getClass().getSy.getResource(“/images/ads/WindowsNavigationStart.wav”); File soundFile = new File(defaultSound.toURI()); AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(soundFile); Clip clip = AudioSystem.getClip(); clip.open(audioInputStream); clip.start( ); } catch (Exception ex) { ex.printStackTrace(); } WindowsNavigationStart.wav文件存在于我的一个jar文件中。 但得到以下例外 – java.lang.IllegalArgumentException: URI is not hierarchical at java.io.File.(File.java:363) at au.com.webscan.wwwizard.app.admin.customfile.UpOneLevelFolder.btnUpFolderActionPerformed(Unknown Source) at au.com.webscan.wwwizard.app.admin.customfile.UpOneLevelFolder.access$000(Unknown Source) at au.com.webscan.wwwizard.app.admin.customfile.UpOneLevelFolder$1.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) […]

访问JAR资源

我有一个jar文件,其中包含我要分发的资源(主要是缓存,日志记录等配置)。 我对这些资源的相对路径有问题,所以我做了我在另一个stackoverflow问题中发现的问题,该问题说这是一种有效的方法: ClassInTheSamePackageOfTheResource.class.getResourceAsStream(‘resource.xml’); 可悲的是,这不起作用。 有任何想法吗? 谢谢! PS:显然我不能使用绝对路径,如果可能的话我想避免使用环境变量

访问.jar文件中的文件

可能重复: 如何从Java jar文件中读取资源文件? 谷歌搜索几个小时后开始完全疯狂。 我也看到了网站上的问题的变化,但似乎无法让它工作。 JFrame需要从ini文件中读取数据,并且我已经创建了一个打开所述文件的方法。 所述文件存储在jar文件中名为resources的文件夹中。 private BufferedReader openIniFile(String filename){ BufferedReader brReader = null; try{ File fileObj = new File(this.getClass().getResource(“/resources/” + filename).toURI()); // The fileobject of the file to read if(fileObj.exists()) brReader = new BufferedReader(new FileReader(fileObj)); } catch(Exception e){ System.err.println(“Exception while opening file: ” + e.getMessage()); } return null; } 当我在编译后运行代码时,这当然很有效,但在导出到.jar文件后抛出exception。 我已经研究过使用InputStream,FileInputStream但似乎找不到可行的解决方案。 如何让jar文件识别资源?

在java 9下运行时将jar添加到类路径

直到java9在运行时通过编程方式将所有人使用的外部jar添加到类路径: URLClassLoader sysloader = (URLClassLoader) ClassLoader.getSystemClassLoader(); Method method = URLClassLoader.class.getDeclaredMethod(“addURL”, new Class[]{URL.class}); method.invoke(sysloader, new Object[]{file.toURI().toURL()}); 现在用java9我们有问题: 线程“main”中的exceptionjava.lang.ClassCastException:java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader无法强制转换为java.base / java.net.URLClassLoader URLClassLoader在Java 9中不再起作用。现在在jdk9下如何以编程方式在运行时向类路径添加外部jar?

我收到“java.lang.ClassNotFoundException:com.google.gson.Gson”错误,即使它是在我的类路径中定义的

我正在尝试使用gson-1.6.jar解析一些我正在使用gson-1.6.jar的JSON对象字符串。我将它放在与其他.jars相同的位置,并将它添加到我在eclipse中的buildpath中。 其他库在我添加它们时运行正常,我可以毫无问题地使用它们,但是当我尝试创建JSON对象时,我得到了名义错误。 我已经通过这个错误查看了其他问题,但我找不到一个不涉及我尝试过的东西的解决方案或者一些不相关的东西。 我使用以下方法将其导入顶部附近: import com.google.gson.Gson; 然后在静态函数中使用它,如下所示: Gson g = new Gson(); 这是我的eclipse生成的类路径文件[Path]替换实际路径: 以及我的构建路径窗口: 我此时有点失落。 我已经尝试了谷歌和post基本上只是说添加到您的构建路径。 有人有什么想法吗? 编辑:更多信息 引用com.google.gson.GSON的代码由jsp用作bean。 从jsp调用此函数,一旦执行该函数就会发生错误。 该函数的第一行是: Gson g = new Gson(); 它似乎编译和部署正常,但当它执行时,我收到错误消息。 谢谢

如何将JRE捆绑到Java应用程序的EXE中? Launch4j说“运行时丢失或损坏。”

我是Java编程的新手,但我一般都熟悉一切是如何工作的。 我希望能够将jar文件和jre放入windows可执行文件(exe)中,这样当我分发它时,客户端不需要安装JRE。 我应该使用什么程序? 我有launch4j,它似乎正是我想要的,但是当我尝试运行应用程序时,我得到“此应用程序已配置为使用捆绑的Java运行时环境,但运行时丢失或损坏。” 我希望我的应用程序只是一个可运行的exe,而不是安装程序。 至少,有人能告诉我如何正确地将一个JRE与launch4j捆绑在一起吗?

如何使用eclipse包含jar文件中的所有图像

我创建了一个java应用程序并将所有类捆绑在一个jar文件中。 当我从eclipse运行项目时,我的应用程序运行成功。 但是当我尝试运行我的.jar文件时,我没有得到我的应用程序使用的图标。 在代码中,我从项目文件夹中的images目录中获取了我的图标。 如何在使用jar时向最终用户呈现这些图像文件? 我正在加载图像: final public ImageIcon iReport=new ImageIcon(“images/Report.png”); 我也试过了 final public ImageIcon iquit=new ImageIcon(getClass().getResource(“images/quit.png”)); 和 final public ImageIcon iquit=new ImageIcon(getClass().getResource(“/images/quit.png”)); 但这会导致错误: Exception in thread “main” java.lang.NullPointerException at javax.swing.ImageIcon.(Unknown Source)

如何访问jar中的配置文件?

我正在使用FlatPack来解析和加载平面文件中的数据。 这需要加载存储平面文件列的映射的配置文件。 我有一个常量来定义映射文件的位置: private static final String MAPPING_FILE = “src/com/company/config/Maping.pzmap.xml”; 我有一个实际解析的解析(File dataFile)方法: private void parse(File dataFile) throws FileNotFoundException, SQLException { Parser parser; log.info(“Parsing ” + dataFile.getName()); FileReader mappingFileReader = new FileReader(MAPPING_FILE); FileReader dataFileReader = new FileReader(dataFile); parser = DefaultParserFactory.getInstance().newFixedLengthParser(mappingFileReader, dataFileReader); parser.setHandlingShortLines(true); DataSet dataSet = parser.parse(); //process the data } 当我将所有东西都FileReader mappingFileReader = new FileReader(MAPPING_FILE);并以jarforms运行时 – […]