我如何创建 .JAR 来执行特定任务,然后在另一个项目中使用这个 JAR?
How can I create .JAR to Do a specific task , then use this JAR in another project?
例如:我有一个简单的代码,它采用数字数组列表并计算总和。我创建了此代码的 .JAR。现在我的问题是如何将这个 JAR 导入另一个项目并将数组列表传递给它,然后 JAR 给我结果以重用它??
假设您有 sum.jar
尝试 运行 您的应用程序 -classpath sum.jar
这将可以从您的应用程序导入 classed/calling sum.jar 中的代码。
这是一个例子
1- 在目录 com\mycompany\myproject 中创建 Task.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- 使用命令 $javac com/mycompany/myproject/Task.java 和命令 $javac com/mycompany/myproject/support/MyTask 编译 .java。 java
4- 使用命令 $jar -cvf task.jar com/mycompany/myproject/Task.class com/mycompany/myproject/support/MyTask.class 创建 .jar 文件
(我决定将“任务”作为我的 .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- 用 $javac Main.java
编译 Main.java
8- 获取 Main.class(Main.java 的编译结果)并将其放在您定义 CLASSPATH 系统变量的位置。
9- 进入 CLASSPATH 目录并执行命令 $java Main
例如:我有一个简单的代码,它采用数字数组列表并计算总和。我创建了此代码的 .JAR。现在我的问题是如何将这个 JAR 导入另一个项目并将数组列表传递给它,然后 JAR 给我结果以重用它??
假设您有 sum.jar
尝试 运行 您的应用程序 -classpath sum.jar
这将可以从您的应用程序导入 classed/calling sum.jar 中的代码。
这是一个例子 1- 在目录 com\mycompany\myproject 中创建 Task.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- 使用命令 $javac com/mycompany/myproject/Task.java 和命令 $javac com/mycompany/myproject/support/MyTask 编译 .java。 java
4- 使用命令 $jar -cvf task.jar com/mycompany/myproject/Task.class com/mycompany/myproject/support/MyTask.class 创建 .jar 文件 (我决定将“任务”作为我的 .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- 用 $javac Main.java
编译 Main.java8- 获取 Main.class(Main.java 的编译结果)并将其放在您定义 CLASSPATH 系统变量的位置。
9- 进入 CLASSPATH 目录并执行命令 $java Main