Как я могу создать .JAR для выполнения определенной задачи c, а затем использовать этот JAR в другом проекте? - PullRequest
0 голосов
/ 14 июля 2020

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

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Это пример 1- в каталоге com \ mycompany \ myproject создать задачу. java

package com.mycompany.myproject;

import java.util.*;

public interface Task{

  public int sum(List<Integer> list);

}

2- в каталоге com \ mycompany \ myproject \ support создать MyTask. java

package com.mycompany.myproject.support;

import java.util.*;
import com.mycompany.myproject.Task;

public class MyTask implements Task{

 public int sum(List<Integer> list){
  
  int variable = 0;
 
  for(int i: list){
       variable += i;
  }
 
  return variable;
 }

}

3- скомпилировать оба. java с помощью команды $ javac com / mycompany / myproject / Task. java и команды $ javac com / mycompany / myproject / support / MyTask. java

4- создать файл .jar с помощью команды $ jar -cvf task.jar com / mycompany / myproject / Task.class com / mycompany / myproject / support / MyTask.class (Я решил указать "задачу" как имя моего файла .jar)

На этом этапе вы создали свой .JAR и можете использовать его в другом проекте. Давайте посмотрим, как это сделать.

5- возьмите файл task.jar и поместите его туда, где вы определили свою системную переменную CLASSPATH

6- создайте Main. java в любом каталоге.

import java.util.*;
import com.mycompany.myproject.*;
import com.mycompany.myproject.support.*;


public class Main{

  public static void main(String arg[]){
    
  //create the implementation you want  
  Task task = new MyTask();
  
  LinkedList<Integer> list = new LinkedList<Integer>();
  
  list.add(8);
  list.add(9);
  list.add(10);
  list.add(2);
  
  int result = task.sum(list);
  
  System.out.println(result);
  
 }

}

7- объединить Main. java с $ javac Main. java

8- взять Main.class (результат компиляции Main. java) и поместите его туда, где вы определили свою системную переменную CLASSPATH.

9- go в каталог CLASSPATH и выполните команду $ java Main

0 голосов
/ 14 июля 2020

Предполагая, что у вас есть sum.jar Попробуйте запустить приложение с -classpath sum.jar. Это сделает возможным импорт классифицированного / вызывающего кода в sum.jar из вашего приложения.

...