草庐IT

java - 将外部 jar 放在 JAVA_HOME/lib/ext 目录中是一件坏事吗?

我们有一个在JRE环境中运行的应用程序。该应用程序使用了一些外部jar,我们一直将它们放在JAVA_HOME/lib/ext文件夹中。这已经为我们工作多年,但最近一位新程序员加入了我们的团队,并且似乎强调这是一件多么糟糕的事情。我不明白为什么,在进一步了解该开发人员之前,我正在尝试做一些研究。我在这里缺少什么吗? 最佳答案 是的——这是一件坏事。想一想:应用程序依赖于JRE和一些额外的jar。如果更新JRE会怎样?然后您必须记住将文件复制到新的JRE中。如果您需要在新系统上设置应用程序怎么办?您必须将应用程序复制到那里,然后还要记住

java - 运行时获取jar版本

我想知道是否有可能在运行时检索类所来自的jar的版本号?我知道可以找到该类来自的jar:MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();但是版本呢?(假设它不在文件名中:)) 最佳答案 试试这个,它可能会有帮助:Strings=newString();System.out.println(s.getClass().getPackage().getSpecificationVersion());System.out.println(

java - 如何将文件添加到 Jar 文件?

我想将之前从其他文件中提取的一系列文件(已经完成)添加到一个jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快点。谢谢! 最佳答案 jar-ufmy.jarfile1file2...jar-ufmy.jardir/或混合jar-ufmy.jarfiledir/ 关于java-如何将文件添加到Jar文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12239

java - 尝试创建 jar 时 list 文件中的行太长

我在尝试构建jar时遇到行太长的错误。list文件中的长行是Class-Path行,因为应用程序使用了大量第三方库。不用说,我正在使用Windows:-(和EclipseJava1.6我尝试了Class-Path:lib或Class-Path:lib/但它们没有用。 最佳答案 由于其中的jar文件数量,类路径太长。«以UTF8编码形式,任何行都不能超过72个字节(不是字符)。»[来自文档:java5,java8;«行长»部分]。使用如下方式解决问题:(1)使用单独的行,以避免java包名称列表的行太长(2)在下面的每一行前输入一个空

java - Eclipse 需要哪些 JAR 文件才能使用 JSTL,以便最终在 GAE/J 上运行?

为了让JSTL在Eclipse下(并最终在GAE/J下)工作,我已经尝试了比我愿意承认的更长的时间。我已经下载了Eclipse、Eclipse的GoogleAppEngine扩展和JSTL(http://download.java.net/maven/1/jstl/jars/-jSTL-1.2.jar在WEB-INF\lib目录中)。我的代码连同输出如下:TestPageTestPage我得到的错误是:Thetaghandlerclassfor"c:set"(org.apache.taglibs.standard.tag.rt.core.SetTag)wasnotfoundontheJ

java - NetBeans - 在一个 jar 中部署所有内容

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:PutexternallibrarytotheJAR?我有NetBeans6.8,我写了一个类,它有两个库(jar文件)。构建它,我得到一个包含我的project.jar的“dist”文件夹和一个包含两个libjar文件的“lib”文件夹。我怎样才能将所有这些都放在一个jar文件中?(我不使用Maven/Ant或类似的东西。)

java - 如何使用 Gradle 制作多版本 JAR 文件?

Java9引入Multi-ReleaseJARs.假设我有一个使用java8的多模块Gradle项目:project-rootsettings.gradlebuild.gradle/module1/src...(commonmavenstructure)/module2/module3这是Gradle中常见的多模块项目。假设我需要MR-Jar用于module1。我无法添加针对Java9的module1-java9,因为基础是8-到目前为止,我的Gradle和IntelliJIDEA都提示。Gradle是用java8编译的,但我需要为模块启用java9运行时(不知道如何);在Intell

java - dex2jar 和 jd-GUI 的替代品?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion似乎dex2jar和/或jd-GUI即使对于最简单的if-else条件代码(它们显示一个while(true)循环,其第一行有一个return;。是否有任何其他免费软件应用程序可以执行相同的去混淆工作?也许还可以使用proguard的映

java - Maven 正在尝试从私有(private)存储库安装每个 jar

我在S3中有一个私有(private)存储库,我用它来发布一个库,然后我在另一个项目中使用它。要发布,我有这个设置:org.apache.maven.pluginsmaven-compiler-plugin3.7.01.81.8com.allogy.maven.wagonmaven-s3-wagon1.1.0projectx-aws-releaseProjectXAWSReleaseRepositorys3://projectx-support/maven2projectx-aws-snapshotsProjectxAWSSnapshotRepositorys3://projectx-

java - 是否有类似 bsdiff/Courgette 的 jar 文件?

Google使用bsdiff和Courgette用于修补Chrome发行版等二进制文件。是否存在用于修补jar文件的类似工具?我正在通过带宽受限的连接远程更新jar文件,并希望尽量减少发送的数据量。我在某种程度上确实对客户端机器有一些控制(即我可以在本地运行脚本)并且我保证目标应用程序不会在当时运行。我知道我可以通过将更新的类文件放在类路径中来修补Java应用程序,但我更喜欢使用更简洁的方法来进行更新。如果我可以从目标jar文件开始,应用二进制补丁,然后以更新的jar文件结束(按位)与新jar(从中创建补丁)相同,那就太好了。 最佳答案