问题标签 [manifest.mf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - WAR/JAR/EAR 中的 MANIFEST.MF 有什么用?
我知道 MANIFEST 文件在移动应用程序中的使用,但不知道在 Java 应用程序中的使用。
我的猜测是,它仅用于保留 BUILD 信息。我对么??
这是强制性的吗?如果不是,那么我们可以从中获得哪些主要好处?
maven - maven-ear-plugin - 如何操作 webModule 和 ejbModule 的 Manifest.MF?
我有一个具有以下结构的多模块 Maven 项目:
应用程序/pom.xml
这是我的app/pom.xml(父项目),我在其中放置了所有应用程序依赖项:
应用程序-ejb/pom.xml
这是我的app-ejb/pom.xml:
这是我的app-web/pom.xml:
app-ear/pom.xml
最后,这是我的app-ear/pom.xml,其中我有关于如何生成我的 app.ear 文件的详细信息:
我的问题是app.ear/app-web.war!META-INF/MANIFEST.MF和app.ear/app-ejb.jar!META-INF/MANIFEST.MF看起来像这样:
而且我真的必须从这些清单中删除 Class-Path 条目。
为什么?因为似乎 RichFaces 在我的应用程序的类路径中被加载了两次。(一个来自 app.ear/lib 文件夹,另一个来自 app.ear/app-web.war!META-INF/MANIFEST.MF 类路径条目)。当我尝试在我的应用程序服务器(Oracle Weblogic 10.3.5)中部署 app.ear 时,我得到了一些类似的错误:
奇怪的是,如果我mvn package
在我的app-web项目中运行,Class-path 条目不会转到 app-web.war/META-INF/MANIFEST.MF。它仅在我mvn package
在我的应用父项目中运行时发生。
那么,如何删除 webModule 和 ejbModule MANIFEST 文件的 Class-path 条目?
我在这个线程中发现了类似的问题,但没有解决方案。
我很感激任何帮助。
谢谢,毛里西奥
java - 从 jar 中提取文件后,如何将它们重新组合成一个有效的 jar?
我从 dacapo 基准 jar 中提取了文件。
然后,我得到了这个文件夹
我试图以这种方式将它们重新组合在一起:
但是当我尝试使用新的 jar 时出现错误:
我不熟悉 jar 文件。谁能帮我一个忙?谢谢!
@Bohemian 看来你的解决方案在这里不起作用,见下文
不管怎么说,还是要谢谢你。
java - Howto:在 JAR 文件中定位资源文件,无需预先知道名称和位置
一般问题:在没有固定位置的 JAR 文件中查找/定位资源文件 (document.xml),甚至文件名也是未知的。
情况:两个 JavaSE 项目,都创建了自己的 JAR 文件。Jar-A
在 jar 中的某处保存一个 xml 文档(位置未知)。Jar-B
想要求JarA
交出文件进行某项操作(例如设置信息)。调用者 Jar-B
不知道资源/文件是如何被调用的,以及它的当前位置在哪里Jar-A
。
要求:Jar-B
应该依赖于资源/文件的固定位置, Jar-A
因为资源可以在Jar-A
. Jar-B
应该询问Jar-A
文件在哪里以及它正在寻找的文件是如何被调用的。
可能的解决方向:该META-INF
目录始终包含一个MANIFETS.MF
带有键/值对的文件。因此,如果我存储一个名为“ResourceLocator”的键和一个类似“org.my.package.ResourceLocator.class”的值,那么Jar-B
可以找到它可以加载的类来实例化一个定位器对象,该对象可以给出正确的名称和位置它正在寻找的文件,对吗?
资源定位器可用于以这种方式查找更多值。
在 中拥有一个资源定位器对象Jar-A
,只需要记录引用“事物”的键,但实际实现与外部世界是分离的。
我想知道这是否是处理这种查找的好方法?我已经知道了Netbeans Lookup API
,但是需要一个类/接口名称来进行查找。这不是我现在正在寻找的。
在搜索未知的资源时如何确保Jar-A
和保持解耦的任何想法?Jar-B
注意:这不是一些服务加载器或扩展机制,因为那将是相反的方式:Jar-B
需要由Jar-A
. 这不是这里的情况。Jar-A
不知道有任何存在Jar-B
。
希望有人已经遇到过这个“问题”。请分享您的想法...谢谢!
链接到 JAR 规范:这里
ant - 由于“无法删除文件 xxx.jarSAVE”,ant 构建失败
当我在做 ant build 时,每次构建都因无法删除文件 xxxx.jarSAVE 而失败。但是该文件不在该文件夹中。我在这里附加构建跟踪。任何人都可以帮助我。
java - 在 JAR 中指定 JVM 堆大小
我正在尝试编写游戏引擎,但它需要比默认设置更多的内存。我知道如果你双击一个罐子,就会使用默认设置。那么无论如何我可以指定JAR在其清单文件(或其他地方)中需要自定义堆大小吗?
此外,引擎在它自己的 jar 中,而游戏在另一个 jar 中,引擎作为库。如果我在两个 JAR 中指定不同的限制,JVM 会优先考虑哪一个?
ant - MANIFEST.MF 在使用 ant 运行 build.xml 后被覆盖
具有以下目录结构
现在,当我运行脚本时,我的清单文件被覆盖,我不希望这样,因为我必须在其中添加自定义输入,并且我希望将其添加到生成的 .jar 文件中。事情是所有其他文件都被复制了,但是这个被覆盖了。
我的 build.xml 如下
java - "No Main Manifest Attribute" in ----.jar Netbeans
I recently just started toying around with Maven in java. Time comes to test my project, it works fine in the NetBeans window, running the main class found in App.java (com.MyCompany.App), but when I try to run it from a command line I get an error:
"No Main Manifest Attribute" in fileName.jar
I have tried adding a manifest.mf file specifying what main is, I've also been into project properties and added it as the main file...
What's going on?
java - 构建 jar-with-dependencies 时的 ManifestEntries
我正在尝试将我的构建服务器信息设置为 META-INF/MANIFEST.MF。将 maven-jar-plugin 与 manifestEntries 一起使用时效果很好。问题是,当我将带有 maven-assembly-plugin 的 Jar 打包到具有依赖项的单个 Jar 中时(就像在这里:如何使用 Maven 创建具有依赖项的可执行 JAR?)我再也看不到我的清单条目了。我的猜测是我的 MANIFEST.MF 在程序集运行时被删除,但在清单完成后我找不到设置它的方法。
这就是我的 pom.xml 构建部分的样子:
如果没有 jar-with-dependencies,MAINFEST.MF 将包含:
然后,解压缩 -q -c convertor-1.0-jar-with-dependencies.jar META-INF/MANIFEST.MF 转储:
java - Java JAR 包含自己的依赖项是正确还是错误?
我想这是一个两部分的问题。我正在尝试编写我自己的 Ant 任务 ( MyFirstTask
),它可以在其他项目的构建文件中使用build.xml
。为此,我需要将我的 Ant 任务编译并打包到它自己的 JAR 中。因为我写的这个 Ant 任务相当复杂,它有大约 20 个依赖项(其他 JAR 文件),例如使用 XStream 进行 OX 映射,使用 Guice 进行 DI 等。
我目前正在MyFirstTask 项目内package
的文件中编写任务build.xml
(将打包的构建文件myfirsttask.jar
,这是可重用的 Ant 任务)。
我突然意识到我并不完全理解 Java JAR 的意图。是不是 JAR 不应该包含依赖项,而是将其留给运行时配置(应用程序容器、运行时环境等)来为其提供所需的依赖项?我会假设如果是这种情况,可执行 JAR 是规则的例外,是吗?
或者, Java JAR 是否也打算包含它们的依赖项?
无论哪种方式,我都不想强迫我的用户将 25 个以上的 JAR 复制粘贴到他们的 Ant 库中;这太残忍了。我喜欢 WAR 文件的设置方式,其中依赖项的类路径在classes/
目录下定义。
我想,最终,我希望我的 JAR 结构看起来像:
我假设为了完成这个(并让运行时类路径也查看classes/
目录),我需要以某种方式修改 MANIFEST.MF(我知道有一个名为 的清单属性ClassPath
,我相信?)。我只是很难将所有东西放在一起,并且有一个关于 JAR 最初意图的迫在眉睫/挥之不去的问题。
有人可以确认 Oracle 是否打算让 JAR 包含它们的依赖项吗?而且,无论哪种方式,我必须在清单(或其他任何地方)中做些什么来确保在运行时类路径可以找到存储在classes/
目录下的依赖项?提前致谢!