草庐IT

java - 如何使用 NIO 从 JAR 中读取文件?

使用ClassLoader.getResourceAsStream(...)从可执行JAR文件本身读取文件对我来说是一个已知的概念,但是我如何使用JavaNIO执行相同的操作?目标是具有如下功能:staticStringreadFullyFromJar(Stringfilename){finalPathpath=Paths.get(Main.class.getResource(fileName).toURI());finalbyte[]bytes=Files.readAllBytes(path);returnnewString(bytes,CHARSET_ASCII);}虽然这在IDE

java - 从 jar 访问 jar 外的资源

我正在尝试从jar文件访问资源。资源位于与jar相同的目录中。my-dir:tester.jartest.jpg我尝试了不同的方法,包括以下,但每次输入流都是空的:[1]Stringpath=newFile(".").getAbsolutePath();InputStreaminputStream=this.getClass().getResourceAsStream(path.replace("\\.","\\")+"test.jpg");[2]Filef=newFile(this.getClass().getProtectionDomain().getCodeSource().ge

java - 为什么 Java 11 运行时会忽略我包含 sun.misc 类的 jar?

我正在尝试将我的代码库升级到Java11。不幸的是,我的代码依赖于内部使用sun.misc.BASE64Encoder的第三方库和Decoder.自sun.misc包已从失败的Java11JRE中删除。该库的所有者尚未替换该依赖项,所以我坚持了一段时间。如果我能控制代码,我会使用java.util.BASE64类,但正如我所说,这些类是作为来自另一个库的传递依赖项出现的,我无法更改它。我以为我会很聪明,只用这些类创建一个新的jar,但由于某种原因,那个jar被忽略了。sun.miscBASE641.8system${project.basedir}/lib/sun.jar我也试过将它明

java - 什么是 java 中的 jar 签名?

什么是jar签名?我们可以定制吗?我的意思是有我们自己的签名。 最佳答案 Jar签名是对jar文件应用数字签名的过程,因此接收方可以使用您的公钥验证其真实性。是的,你可以使用它。您只需要创建一个key并使用keytool添加它。参见JARSigning. 关于java-什么是java中的jar签名?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2018487/

java - JPA 2.0、hibernate 3.5、jars 和 persistence.xml 位置

我正在使用hibernate3.5和JPA2.0构建桌面应用程序。我有2个jar,定义每个实体和DAO的库,包如下所示:org.my.package.modelsorg.my.package.models.daoorg.my.package.models.utils在org.my.package.utils中,我定义了用于获取EM和EMF实例的hibernate实用程序类,这意味着该库已绑定(bind)到持久性单元名称,但目前这不是问题(无论如何你可以向我推荐一个更好的管理方式)第二个jar构建如下:org.my.package.appMETA-INF是在项目的根目录中定义的,这意味着

java - 从 Eclipse 导出 jar 时出现 "Could not find main method from given launch configuration"错误

我使用Eclipse作为我的IDE开发了我的程序。我曾经使用File|Export|可运行JAR文件用于为客户端创建dist构建的选项。我在eclipse中使用“运行”或(经常)“调试”按钮处理项目(因此我为项目配置了有效的主要方法)。不幸的是,当我昨天创建构建时,我在尝试运行应用程序时遇到了以下错误:FailedtoloadMain-ClassmanifestattributefromMy.jar然后当我重新尝试导出时,我在导出日志中发现了以下问题:Couldnotfindmainmethodfromgivenlaunchconfiguration我不知道是什么导致了这个问题。我认为

java - 如何使用maven shade插件向jar添加资源

我的项目结构在src/main/文件夹中有资源文件夹。资源文件夹包含文件server.properties。我的pom如下:4.0.0com.fdeListener1.0-SNAPSHOTjarListenerhttp://maven.apache.orgUTF-83.6.10.Final1.6junitjunit3.8.1testcommons-langcommons-lang2.0org.hibernatehibernate-ehcache${hibernate.version}org.hibernatehibernate-core${hibernate.version}javas

java - intellij 构建包含 gradle 依赖项的 jar 工件

我基本上想做一些简单的事情——或者至少我认为它应该非常简单。我的目标是创建一个Intellijgradle项目,使用gradle向模块添加一些依赖项,并向其中添加一些java源代码。然后我只想有一个选项以某种方式将整个东西编译成1个jar,包含所有等级依赖项并能够使用“java-jar”执行然而事实证明,这并不像我想象的那么容易。我刚刚从intellij创建了一个新的gradle项目并添加了一个Main类。我会给你一个关于我的文件的概览:设置.gradle:rootProject.name='gradleTestNewJar'build.gradle:applyplugin:'java

java - 如何在 CLI 上运行 maven 生成的 jar

我正在尝试让Maven管理的项目在命令行上运行。我在pom.xml中有一组依赖项,随后下载并安装在~/.m2/repository/中。我在我的pom中包含了必要的配置,以将类路径添加到jarlist。现在的问题是我正在尝试这样运行jar:java-jarproject-SNAPSHOT.jar。Java找不到下载的依赖项(我假设是因为它们在list中没有列出路径?),但我不确定如何最好地运行它。 最佳答案 选项1:创建的jar没有依赖的jar文件。因此,您需要告诉java所有依赖的jar所在的类路径java-cp/lcoation

java - 使用 Maven 导出 jar 时包含源代码

我想使用maven导出一个jar文件,其中可以包含源代码。我尝试使用“maven-source-plugin”,但它会创建一个带有源代码的单独jar文件。有什么方法可以像使用源代码的普通eclipse导出一样使用maven导出jar文件? 最佳答案 你可以用资源部分来做,看例子:src/main/java**/*.java**/*.gwt.xmlmaven-compiler-plugin2.3.21.61.6org.apache.maven.pluginsmaven-jar-plugin2.3**/*WebContent/META-