Простая проблема: я хотел бы назначить новый номер версии \ build каждый раз, когда я выдаю новый файл jar своим клиентам.Назначение версии файлу jar
Я понял, что файл мануфактов задействован, но я не могу получить версию, какую бы я ни пытался до сих пор.
В моем проекте jar есть два пакета под общим пакетом «com»: «main» и «loginRequest».
Мой основной класс («Основной») находится под «основным» пакетом.
Мой манифест файл:
Manifest-Version: 1.0
Main-Class: main.Main
Specification-Version: 1.1
Я пытался построить банку, используя затмение (за исключением СРК файлов), включая манифест.
Я также попытался следующие:
jar -cvfm v11_4_WebExClientEE.jar ..\..\v11_4_WebExClientEE.mf main\Main.class
который retruned мне
"added manifest
adding: main/Main.class(in = 1206) (out= 677)(deflated 43%)"
, а затем:
java -jar v11_4_WebExClientEE.jar
, который вернул меня
Exception in thread "main" java.lang.NoClassDefFoundError: main/Main (wrong name: com/main/Main)
т.д.
В моем главном классе CTOR я добавил:
Package p = this.getClass().getPackage();
System.out.println("v11_4_WebExClientEE spec Version : " + p.getSpecificationVersion());
Можете ли вы посоветовать?
Спасибо!
Каков пакет, в котором существует ваш основной класс? Вы уверены, что вам нужна версия манифеста, а не что-то вроде v11_4_WebExClientEE- .jar? –
SMA
Основной класс, который называется Main, находится под пакетом «main». Вы предлагаете мне добавить номер версии в имя jar? – dushkin
Да. Таким образом, вы можете поддерживать различную версию в централизованном репозитории и позволить своему клиенту забирать из этого репозитория через maven/ivy. – SMA