Tag: jar

Java 9 – “模块”和“JAR”文件有什么区别?

我正在从Java9的What’s New中学习Java 9,讨论的热门话题之一是模块化JDK 。 我有些疑惑: JAR文件是模块吗? 模块与JAR文件有何不同?

使用JarBundler将Java转换为MacOSX的.app文件

我所要做的就是将一个简单的java程序转换为macOSX .app文件,这样我就可以将它作为一个简单的可执行文件分发。 我到处都读过,每个人都说同样的话: 使用Xcode – 据我所知,Xcode不再支持Java Build 使用Jar Bundler – 所有教程似乎都已过时,但它不起作用。 当我运行:java -jar jarbundler-2.0.0.jar 控制台返回“jarbundler-2.0.0.jar中没有主要清单属性” 如果我是对的,那么打包jar文件的人会失败吗? 但我试过从其他网站和其他版本下载它,但我得到同样的事情。 他们说你可以自己创建目录和文件,然后将你的文件夹重命名为.app,然后对它运行一个命令,但这很复杂,因为我不确切知道如何创建一个info.plist文件……如果你想这样做,我到目前为止找到的最好的网站就是这个: OSX的Java部署选项 我已将我的代码编译成.jar文件,我有一个图标和所有内容,我需要做的就是以某种方式将其打包到.app文件中。 我在这里先向您的帮助表示感谢! 解 编辑:我明白了! 经过7或8个小时的搜索和阅读后,它可以正常工作。 因为我刚接触到这个,所以我将发布我学到的所有东西来拯救遇到同样问题的其他人经历痛苦。 我放弃了自己做的方法,然后回到了JarBundler。 如果其他人正在读这个并且他们对ANT一无所知,那就是我做的:下载JarBundler,我从这里得到了我的: Mac OS X JarBundler ANT任务并按照其中的说明进行操作。 下载时,请将jarbundler-2.2.0.jar文件放在此处: 的/ usr /共享/ant/ lib中 您可能必须运行命令来移动它,例如: sudo mv jarbundler-2.2.0.jar~ /../../ usr / share / ant / lib / jarbundler-2.2.0.jar 就像我说的那样,我还在学习,但这对我有用。 确保你移动了正确的jarbundler,这是我遇到问题的地方,我移动了整个文件夹,而不是内部的.jar文件,所以请确保你移动你下载的文件夹zip里面的.jar,而不是整个东西,否则当你去构建它时,你会得到一个错误,如错误:taskdef class net.sourceforge.jarbundler.JarBundler找不到。 […]

在运行时选择可运行jar中的主类

我在应用程序中有两个主要类。 当我将它打包到一个可运行的jar(使用Eclipse导出函数)时,我必须选择一个默认的主类。 有没有办法在运行时从jar访问非默认主类?

如何在开始运行jar文件时设置-Xmx?

我们知道我们可以在eclipse中的 window->preferences->java->installed jres->edit->default vm arguments中设置-Xmx1024M 。 但是当我将这个项目打包成一个可运行的jar文件时,如何通过java -jar A.jar运行jar时设置-Xmx1024M ? 非常感谢!

如何在WAR文件中包含依赖项?

我在Eclipse中有一个Dynamic Web Project ,它依赖于我工作区中的另一个Java项目。 在内置Tomcat服务器中运行Web项目时,我已将项目依赖项添加到运行配置中的类路径。 我想创建一个WAR,用于在外部服务器上部署Web项目。 依赖项Java项目被添加到Eclipse中的Java Build路径 ,但是当我导出WAR文件时,不包含库。 Java项目也在Order and Export中选择 。 如何创建包含依赖项的WAR?

创建一个ClassLoader以从字节数组加载JAR文件

我正在寻找一个自定义类加载器,它将从自定义网络加载JAR文件。 最后,我必须使用的是JAR文件的字节数组。 我无法将字节数组转储到文件系统上并使用URLClassLoader 。 我的第一个计划是从流或字节数组创建一个JarFile对象,但它只支持File对象。 我已经写了一些使用JarInputStream东西: public class RemoteClassLoader extends ClassLoader { private final byte[] jarBytes; public RemoteClassLoader(byte[] jarBytes) { this.jarBytes = jarBytes; } @Override public Class loadClass(String name, boolean resolve) throws ClassNotFoundException { Class clazz = findLoadedClass(name); if (clazz == null) { try { InputStream in = getResourceAsStream(name.replace(‘.’, ‘/’) + “.class”); ByteArrayOutputStream out = […]

在IntelliJ IDEA中创建一个可删除的jar

我正在使用IntelliJ IDEA 12.1.3。 我有一个模块,我正在尝试按照此处给出的步骤将其转换为jar。 我构建了jar文件,并将jar文件移动到D:/。 如果我尝试运行此jar,我会收到以下消息: 无法从jar加载Main-Class清单属性 如果我使用java -classpath jar com.code.TestCase运行它,它可以很好地工作。 为什么会这样? 我使用IntelliJ IDEA创建了jar。 在那个jar中,它包含了我添加的所有外部库的所有代码。 在src清单文件中: Manifest-Version: 1.0 Main-Class: com.code.TestCase 但是jar的清单文件内容是: Manifest-Version: 1.0 Build-Jdk: 1.6.0 Built-By: ubuntu Created-By: Apache Maven Archiver-Version: Plexus Archiver Name: org.apache.log4j Implementation-Vendor: “Apache Software Foundation” Implementation-Title: log4j Implementation-Version: 1.2.15 为什么Main-Class没有添加到jar文件MANIFEST.MF中,但它在src中有Main-Class ?

类加载器问题 – 如何确定加载哪些库版本(jar文件)

我刚刚解决了另一个*我 – 虽然 – 我正在使用这个版本的库 – 但显然是我的应用程序服务器已经加载了一个旧版本的-this-library- * issue(叹气)。 有没有人知道validation(或监控)您的应用程序是否可以访问所有相应的jar文件或加载的类版本的好方法? 提前致谢! [PS在我的视图中开始使用OSGi模块架构的一个很好的理由!] 更新 : 这篇文章也有帮助! 通过将JBoss的类加载器写入日志文件,它让我了解了JBoss的类加载器。

从单个源文件夹中抓取多个jar子

至于现在,我们有一个项目结构,其中包含名为src单个源文件夹,其中包含三个模块的源代码。 我想做的是: 1)编译源代码。 使用sourceSets定义可以轻松完成此操作: sourceSets { main { java { srcDir ‘src’ } } } 2)将编译结果放入三个jar子中。 我通过三个’jar’类型的任务来做这件事: 我现在通过三个单独的任务来做这件事: util.jar task utilJar(type: Jar) { from(sourceSets.main.output) { include “my/util/package/**” } } client.jar中 task clientJar(type: Jar) { from(sourceSets.main.output) { include “my/client/package/**” } } 的server.jar task serverJar(type: Jar) { from(sourceSets.main.output) { include “**” } excludes.addAll(utilJar.includes) excludes.addAll(clientJar.includes) } 问题是server.jar应该包含client.jar和util.jar中没有包含的所有类。 在ant […]

使用JDeveloper构建Java整个项目jar

我正在使用JDeveloper 11g开发桌面应用程序。 我想制作在java环境中可运行的整个项目jar ..如果我只使用标准Java库jar工作正常但我的项目包含外部库如JfreeChart,Comm,Hibernate3等等…当我尝试制作jar时它显示错误我如何能够将整个jar项目与外部库一起制作。 谢谢