Скомпилируйте и запустите с javac и java, используя классовые пути в jar - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь запустить простой код в Java из командной строки.У меня есть файл jar.java, содержащий это:

public class jar{

public void print()
{
System.out.println("Jar success accesing !");
}}

, а также у меня есть main.java, который вызывает использование класса jar:

public class main{

public static void main (String args[]){
jar jar1 = new jar();
jar1.print();
}}

Я только что попытался скомпилировать jar.javaи затем сделайте его архивом jar, а затем скомпилируйте основной класс, используя этот jar, как здесь:

>javac jar.java
>jar cvf JAR.jar jar.class
>javac -cp JAR.jar main.java

Теперь, пока здесь все работает нормально, когда я хочу запустить main, это не работает:

>java -cp JAR.jar main

и я получаю это:

Error: Could not find or load main class main.class
Caused by: java.lang.ClassNotFoundException: main.class

Где я не прав?

1 Ответ

0 голосов
/ 12 июня 2018

Ответ:

java  main

Вам не нужно -cp , потому что вы помещаете все файлы в одну папку.Ваш код не работает, потому что вы переопределяете значение по умолчанию -cp (текущий каталог).Ваш -cp указывает только на JAR.jar.

Подобные решения:

java -cp 'main.class;JAR.jar' main
java -cp '.;JAR.jar' main
...