Как использовать классы из одного проекта в другом проекте в Java? - PullRequest
0 голосов
/ 10 декабря 2018

В основном у меня есть два разных проекта, и мне нужно вызвать некоторые из этих методов в классе B из класса A.

Я попытался создать банку класса B и поместить ее в зависимостикласса A, но это не сработало.

Есть ли способ сделать это?

Редактировать:

Класс B: содержит утилиты пользователя FTP:

package br.com.consiste.FtpConnector;

import java.io.IOException;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPConnection {

    public FTPClient createConnection() {

        String server = System.getenv("FTP_HOST"); 
        String user = System.getenv("FTP_USER");
        String pass = System.getenv("FTP_PASSWORD");

        int port = 21;

        FTPClient ftpClient = new FTPClient();

        try {
            ftpClient.connect(server, port);
            showServerReply(ftpClient);
            int replyCode = ftpClient.getReplyCode();
            if (!FTPReply.isPositiveCompletion(replyCode)) {
                System.out.println("Operation failed. Server reply code: " + replyCode);
            }
            boolean success = ftpClient.login(user, pass);
            showServerReply(ftpClient);
            if (!success) {
                System.out.println("Could not login to the server");
            } else {
                System.out.println("LOGGED IN SERVER");

            }
        } catch (IOException ex) {
            System.out.println("Oops! Something wrong happened");
            ex.printStackTrace();
        }
        return ftpClient;
    }

    private static void showServerReply(FTPClient ftpClient) {
        String[] replies = ftpClient.getReplyStrings();
        if (replies != null && replies.length > 0) {
            for (String aReply : replies) {
                System.out.println("SERVER: " + aReply);
            }
        }
    }
}

Я написал эти методы для другого класса этого же проекта.

По сути, я хочу вызвать эти методы, например, FTPClient.getHost () или любой другой, в классе A.

1 Ответ

0 голосов
/ 10 декабря 2018

Чтобы использовать класс другого проекта, вы можете:

  • импортировать банку, содержащую класс, используя зависимость maven
  • импортировать банку, содержащую класс, используя зависимость gradle
  • импортировать jar, содержащий класс, добавив его в classpath вручную
  • import jar, содержащий класс, добавив его в существующий classpath (например, каталог lib в tomcat) - обратите внимание, что в этом случае выне может видеть класс из ide, но только во время выполнения (это то, как он работает, например, драйвер jdbc, используя отражение)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...