Как я могу использовать классы из файла JAR в других файлах, другой каталог? - PullRequest
0 голосов
/ 26 сентября 2019

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

Полный адрес файла JAR: /home/cristian/Escritorio/The\ complete\ Java\ developer\ course/Sección\ 11/Packages/ThejarFile/example/game/myJarFile.jar

Полный адрес основного класса: /home/cristian/Escritorio/The\ complete\ Java\ developer\ course/Sección\ 11/Packages/com/cristian/example/Main.java

Это основной класс, в котором я хочу использовать эти классы:

    package com.cristian.example;

    import java.util.ArrayList;
    import java.util.Scanner;
    import java.util.List;


    import ThejarFile.example.game.Player;
    import ThejarFile.example.game.Monster;
    import ThejarFile.example.game.ISaveable;

    public class Main { 
....

Я пробовал это:

 ~/Escritorio/The complete Java developer course/Sección 11/Packages$ javac -cp .:ThejarFile/example/game/myJarFile.jar com/cristian/example/Main.java

И это:

~/Escritorio/The complete Java developer course/Sección 11/Packages$ javac -cp .:/home/cristian/Escritorio/The\ complete\ Java\ developer\ course/Sección\ 11/Packages/ThejarFile/example/game/myJarFile.jar com/cristian/example/Main.java

1 Ответ

0 голосов
/ 26 сентября 2019

javac предназначен для компиляции, и при компиляции вы обращаетесь к пути к файлу с помощью "/" (Windows) или "\" (на основе Unix) и суффикса файла .java:

  • javac com / cristian / example / Main.java

java предназначен для выполнения уже скомпилированного класса.Вы ссылаетесь на скомпилированный файл .class, используя "."без суффикса .class файл:

  • java -cp.: ThejarFile / example / game / myJarFile.jar com.cristian.example.Main
...