✨往期专栏推荐:
【Java:多项目管理编译运行(package、jar)】
【Linux: 将Java程序打包为jar包及运行】
【Java:Java Packages(Built-in & User-defined)Java包详解】
1 VS Code添加插件Java Extension Pack1. 本文的目的:基于
VS Code
的插件Java Extension Pack
中的JAVA PROJECTS
来加载外部jar
包,然后再将整个Java项目打包。
2. 简单示例说明:读取边(src, dst)
的文件,然后输出每个顶点对应的邻居顶点。该例子使用了外部jar包fastutil-8.5.8.jar
。 可直接下载该项目的所有文件,点击[下载]。
- 于VS Code的商店中,搜索并安装“Java Extension Pack”。
正确安装后,当打开Java项目时,会出现“JAVA PROJECTS”目录,如下图:
2 示例教程
2.1 源码在java_program目录下,包括Java文件
MainFunc.java
、RunEdge.java
和输入数据文件input.txt
,以及外边安装包fastutil-8.5.8.jar
。
MainFunc.java:
import java.io.IOException;
public class MainFunc {
public static void main(String[] args) throws IOException {
final String inputPath = "input.txt";
RunEdge rEdge = new RunEdge();
rEdge.run(inputPath, "\t");
System.out.println("Done");
}
}
RunEdge.java:
import java.io.*;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
public class RunEdge {
private static Int2ObjectOpenHashMap<IntOpenHashSet> srcToNeighs = new Int2ObjectOpenHashMap<IntOpenHashSet>();
public static int[] parseEdge(String line, String delim) {
String[] tokens = line.split(delim);
int src = Integer.valueOf(tokens[0]);
int dst = Integer.valueOf(tokens[1]);
return new int[] { src, dst };
}
public static void addEdge(int src, int dst) {
if (!srcToNeighs.containsKey(src)) {
srcToNeighs.put(src, new IntOpenHashSet());
}
srcToNeighs.get(src).add(dst);
if (!srcToNeighs.containsKey(dst)) {
srcToNeighs.put(dst, new IntOpenHashSet());
}
srcToNeighs.get(dst).add(src);
}
public static void printSrcToNeis() {
for (int key : srcToNeighs.keySet()) {
System.out.println(key + "'s neighbors: ");
IntOpenHashSet map = srcToNeighs.get(key);
for (int neighbor : map) {
System.out.print(neighbor + "\t");
}
System.out.println();
}
}
public static void run(String inputPath, String delim) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(inputPath));
System.out.println("Input edges:");
while (true) {
final String line = br.readLine();
if (line == null) {
break;
}
int[] edge = parseEdge(line, delim);
addEdge(edge[0], edge[1]);
System.out.print("(" + edge[0] + ", " + edge[1] + ")\t");
}
System.out.println("\n************************************************************");
printSrcToNeis();
br.close();
}
}
input.txt:
1 2
2 3
1 3
4 6
4 5
5 6
4 7
6 7
4 8
4 9
2.2 加载外部包fastutil-8.5.8.jar
- 使用VS Code打开java_program项目后,依次选择
JAVA PROJECTS -> Referenced Libraries "+" -> Select Jar Libraries
- 然后,Referenced Libraries中会出现外部包fastutil-8.5.8.jar
2.3 将整个java_program下的项目打包
- 点击JAVA PROJECTS右侧的箭头指标,将整个项目导出到Jar文件中:
- 期间,需要选择MainFunc作为主类:
- 最后,会生成包java_program.jar:
2.4 两种运行方式 2.4.1 使用VS Code
- 直接右键选择Run Java:
2.4.1 基于bash命令行
java -cp java_program.jar MainFunc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)