草庐IT

multi-release-jar

全部标签

java - 如果 Java JVM 只使用其中的一个类,它是否会加载整个 jar 或 ear?

假设您有一个3Gb的jar文件,您的应用程序只使用其中的一个小类。JVM是将整个jar文件加载到内存中,还是读取目录并仅加载它需要的部分?这种行为是可控的吗? 最佳答案 JVM在调用时仅从Jar中加载所需的类。如果应用程序需要一个类,那么将加载该类和所有其他依赖类。不确定,但我想这是类加载器的责任,从类路径中找到类并加载。 关于java-如果JavaJVM只使用其中的一个类,它是否会加载整个jar或ear?,我们在StackOverflow上找到一个类似的问题:

java - 未从 jar 中获取 log4j.properties

我的服务器的类路径中有一个jar,它包含位于jar根目录的log4j.properties文件,用于记录代码。当jar中的代码运行时,代码的日志记录不会发生。当我使用java-Dlog4j.debug选项分析问题时,我知道log4j正在加载axis-ant.jar的log4j.properties文件(这也是在我的类路径上)并使用它代替我的jar的属性文件。当我随后从类路径中删除axis-ant.jar时,我的jarslog4j.properties文件被立即选中并记录了我的代码。有人能解释一下为什么我的log4j.properties文件没有加载而axis-ant.jar存在吗?令人

java.lang.NoClassDefFoundError : when trying to run jar 错误

我有一个使用gradle的springboot项目applyplugin:'java'applyplugin:'idea'applyplugin:'jetty'applyplugin:'war'applyplugin:'org.springframework.boot'repositories{mavenCentral()}dependencies{compile("org.springframework.boot:spring-boot-starter-web:1.5.1.RELEASE"){excludemodule:"spring-boot-starter-tomcat"}com

java - 用于构建 'debug' 和 'release' JAR 文件的惯用 Gradle 脚本

我正在尝试创建一个Gradle构建脚本来构建Java.jar文件处于“发布”或“调试”模式,并且无法参数化脚本。问题是:使用Java插件在Gradle脚本中执行此操作的惯用方法是什么?(或者,如果没有惯用的方法,那么实际有效的hacky解决方案是什么?)我不介意参数化的方法,只要命令行和IDE调用可以轻松地在两个输出选项之间进行选择。jar文件将用作其他项目中的库,例如一个Android应用程序和一个JavaFX应用程序,所以我希望参数化方法可以从他们自己的Gradle脚本中调用/依赖。理想情况下,我想“模拟”Androidgradle插件具有每个任务的调试/发布版本的能力,即$./g

java - 你能在一个 jar 文件中添加多个 jar 然后启动那个 jar 文件吗

我正在开发一个GUI应用程序,宁愿只分发一个jar而不是多个。你能用list来控制它吗? 最佳答案 另一种选择是使用自定义类加载器,例如这个:http://one-jar.sourceforge.net/ 关于java-你能在一个jar文件中添加多个jar然后启动那个jar文件吗,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/531353/

java - 几个 jar 中的 freemarker 模板

如何配置freemarker在多个jar中搜索模板?有Spring。一个war文件(用于部署)和一个jar文件(在依赖项中)。一战/freemarker/simple.ftl两个.jar/freemarker/test.ftl工作。ModelAndViewmav=newModelAndView();mav.setViewName("simple");不工作。找不到test.ftlModelAndViewmav=newModelAndView();mav.setViewName("test");如果设置为:一战/freemarker/simple.ftl两个.jar/freemarker

java - 从 jar 中加载 ResourceBundle

我看到了一些关于如何通过getResourceAsStream在jar中加载特定文件的答案,我可以解决这个问题。然而,我面临着一些非常具体的问题,我在论坛上找不到关于这个的答案。配置如下:我有一个jar文件,它有一个conf目录,其中包含2个属性文件messages_en_US.properties和messages_fr_FR.properties。加载此类资源的经典方法是使用ResourceBundle.getBundle("messages",java.util.Locale.getDefault());如果文件在磁盘上,在程序类路径引用的目录中,则可以正常工作。但我不知道如何管

java - CLASSPATH 中有未使用的 JAR 文件的影响

我在这里阅读了很多关于可用于查找未使用JAR的工具的问答,例如:loosejarClasspathHelper我的问题是,在编译时或运行时类路径中有未使用的JAR是否有任何影响(例如将类加载到内存、性能等)?问题适用于作为独立程序和Web服务器(ApacheTomcat)运行,尽管我最初只考虑独立程序。注意:我正在运行JDK6u32(64位)。 最佳答案 Arethereanyimpacts(suchasloadingofclassesintomemory,performance,etc.)ofhavingunusedJARsint

flink类加载器原理与隔离(flink jar包冲突)

flink类加载器原理与隔离Java类加载器解决类冲突基本思想什么是Classpath?Jar包中的类什么时候被加载?哪些行为会触发类的加载?什么是双亲委派机制?如何打破双亲委派机制?Flink类加载隔离的方案Flink是如何避免类泄露的?Flink卸载用户代码中动态加载的类Flink卸载Classloader源码flinkx如何实现类加载隔离Flinkjar的上传时机Yarn的分布式缓存FlinkBlobServer如何快速提交,减少上传jar包类加载隔离遇到的问题分析FlinkJobGraphClasspath的使用遇到的问题和排查方案?本文是转载自袋鼠云公众号的文章不知道大家有没有遇到过

java - 如何将opencv +java打包到jar中

我一直在使用Opencv2.4.5和Java构建应用程序,现在想分发该应用程序。使用以下内容加载库:static{System.loadLibrary("opencv_java245");}效果很好。但是,导出时,从jar运行时它不起作用:java-jarbuild1.jaropencv_java245.jar文件作为用户库包含在内,并连接了一个native文件(libopencv_java245.dylib)。运行从Eclipse生成的可执行jar时,我得到下面的UnsatisfiedLinkError,尽管在Eclipse中编译/运行正常。Exceptioninthread"mai