gpt4 book ai didi

scala - 使用sbt-assembly将供应商信息添加到MANIFEST.MF

转载 作者:行者123 更新时间:2023-12-04 07:42:33 29 4
gpt4 key购买 nike

我正在使用sbt-assembly创建一个可运行的jar,但是我的应用程序崩溃了,因为jai imageio从MANIFEST.MF文件中加载了供应商名称。如果我从以下位置手动编辑META-INF/MANIFEST.MF文件:

Manifest-Version: 1.0
Main-Class: myMainClass


Implementation-Vendor: foo
Implementation-Title: bar
Implementation-Version: 1.0
Manifest-Version: 1.0
Main-Class: myMainClass

一切正常。

如何配置sbt或sbt-assembly在jar中包含其他实现信息?还是有其他解决方法?

(p.s:对在何处查找软件包信息的引用: http://www.java.net/external?url=http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules/Java-Advanced-Imaging/com/sun/media/imageioimpl/common/PackageUtil.java.htm)

最佳答案

我正在使用sbt 0.11.2,并且sbt在没有任何其他配置的情况下将 list 信息添加到了jar中:),我不确定为什么会有这个问题。

这是我在本地构建的squryl jar的MANIFEST.MF示例

Manifest-Version: 1.0
Implementation-Vendor: org.squeryl
Implementation-Title: squeryl
Implementation-Version: 0.9.5-rc1
Implementation-Vendor-Id: org.squeryl
Specification-Vendor: org.squeryl
Specification-Title: squeryl
Specification-Version: 0.9.5-rc1
Main-Class: org.squeryl.logging.UsageProfileConsolidator

但这可以在您的build.sbt或Build.scala中进行配置

例如
    import sbt._
import Keys._
import sbt.Package.ManifestAttributes

//......

//......

lazy val baseSettings = Defaults.defaultSettings ++ Seq(
version := ProjectVersion,
organization := Organization,
scalaVersion := ScalaVersion,
packageOptions := Seq(ManifestAttributes(
("Implementation-Vendor", "myCompany"),
("Implementation-Title", "myLib"))))

关于scala - 使用sbt-assembly将供应商信息添加到MANIFEST.MF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010202/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com