Добавление информации о продавце в MANIFEST.MF с использованием sbt-assembly - PullRequest
8 голосов
/ 26 января 2012

Я использую 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)

Ответы [ 2 ]

8 голосов
/ 27 января 2012

Я использую sbt 0.11.2 и, sbt добавляет информацию о манифесте в jar без какой-либо дополнительной настройки :), я не уверен, почему у вас такая проблема.

Это образец MANIFEST.MF из squryl jar, который я построил локально

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"))))
0 голосов
/ 29 апреля 2013

Проблема в том, что сборка sbt не добавляет ключи по умолчанию в MANIFEST.MF.Пакет sbt, с другой стороны, делает это, что, вероятно, использовал Джестан Нироджан.

Я создал проблему для проекта плагина sbt assembly на github.Вы можете добавить комментарий, чтобы увеличить вероятность его исправления.

См.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...