Исполняемый Jar не может работать?(Без разрешения на доступ к коду) - PullRequest
0 голосов
/ 05 августа 2011

Мне нужно написать программу для класса, который я посещаю, и он дал нам исполняемый файл jar для запуска и сравнения наших результатов с его.

Однако у меня возникают проблемы при его запуске, дажепосле прочтения некоторых других связанных тем.Мне ничего не дают, кроме банки, которую я не могу извлечь.

Я просто хочу как-нибудь запустить ее - либо в оболочке, либо в Eclipse.

== Извините заотсутствие конкретики: в нем говорится, что мне не хватает атрибута манифеста Main-Class.Я знаю, что когда это происходит, вы должны войти в манифест, и, покопавшись, я заметил, что манифест НЕ содержит этого атрибута.Я добавил его, но всякий раз, когда я пытаюсь использовать jar uvf, чтобы добавить его обратно, он просто игнорирует его."jar uvf EditDistance.jar META-INF / игнорирование записи META-INF / игнорирование записи META-INF / MANIFEST.MF"

Помогите, пожалуйста?: /

Ответы [ 4 ]

2 голосов
/ 05 августа 2011

Вы пробовали:

java -jar filename.jar

Вы не говорите, что пытались или какие ошибки получили ...

1 голос
/ 05 августа 2011

если в манифесте не указан «основной» класс, но вы знаете, что это за класс, то просто выполните:

java -cp filename.jar com.example.MainClass

, если необходимо, вы можете следовать этому с любыми аргументами, специфичными для программы.если вы не знаете основной класс, тогда вам нужно спросить человека, который дал вам банку.

0 голосов
/ 05 августа 2011

Возможно, вам не дали исполняемый файл. Возможно, вам придется использовать решение Jtahlborn. Если вы не можете понять, что использовать для com.example.MainClass, вы можете попробовать

jar -tf EditDistance.jar

Это даст вам список всех файлов в банке. Надеемся, что один из них называется либо EditDistance.class, либо Main.class (с некоторым префиксом, например: «com / example / EditDistance.class»).

Если вы видите что-то подобное, просто переведите косые черты в точки, отбросьте суффикс .class и вставьте его в решение jtahlborn:

java -cp EditDistance.jar com.example.EditDistance
0 голосов
/ 05 августа 2011

У меня была такая же проблема некоторое время назад. Прочтите эту страницу в пункте «Установка точки входа с помощью инструмента JAR».

Попробуйте выполнить эту команду: jar cfe app.jar MyApp MyApp.class Опция e указывает точку входа в приложение.

Где:

  • app.jar - это имя вашей банки

  • MyApp является точкой входа

  • MyApp.class - это название вашего класса.

В конце введите команду для выполнения jar: java -jar app.jar

...