java -jar с cf -e не работает на Java 14 - PullRequest
0 голосов
/ 12 апреля 2020

Привет, я играю с javac + java + java -jar, чтобы больше взаимодействовать с модулями.

Я использую последнюю версию JDK 14.

Я ха ve этот простой класс:

package defaultpackage;
public class Main{
    public static final void main(final String args[]){
        System.out.println("HI WITH: "+java.util.Arrays.toString(args));
    }
}

Я создаю каталоги без проблем:

javac -d . Main.java

Позже я могу создать файл jar, играя смешивая некоторые значения следующим образом:

jar --create --file Jar.jar -e defaultpackage.Main defaultpackage
jar -cfe Jar.jar defaultpackage.Main defaultpackage
jar cfe Jar.jar defaultpackage.Main defaultpackage

Все они создают jar с классом в файле манифеста, и я могу запустить его с помощью этой простой команды:

java -jar Jar.jar

Но я не мог эту команду работать, она немного отличается от предыдущей, возможно, это нельзя смешивать, но я подумал, что это может:

jar -cf Jar.jar -e defaultpackage.Main defaultpackage 

Я пытаюсь В общем, создайте файл Jar.jar с точкой входа defaultpackage.Main

Но говорится.

jar -cf Jar.jar -e defaultpackage.Main defaultpackage
-e : no such file or directory
defaultpackage.Main : no such file or directory

Я тоже попробовал это, но с тем же ответом:

jar -cf Jar.jar defaultpackage -e defaultpackage.Main 

И:

jar -cf Jar.jar -e defaultpackage/Main.class defaultpackage

Но также с тем же ответом.

Как мне сделать эту команду работать? Я не мог смешать -cf плюс -e?

1 Ответ

1 голос
/ 13 апреля 2020

Я не могу смешать -cf плюс -e?

Правильно. Эти параметры в некоторой степени аналогичны командам Unix tar , но не полностью совпадают. Вы не можете использовать как комбинированные буквы, так и отдельные буквы опций.

...