VS Code + Java:加载外部jar包,并将整个项目打包

VS Code + Java:加载外部jar包,并将整个项目打包,第1张

✨往期专栏推荐:

Java:多项目管理编译运行(package、jar)】
【Linux: 将Java程序打包为jar包及运行】
【Java:Java Packages(Built-in & User-defined)Java包详解】

1. 本文的目的:基于VS Code的插件Java Extension Pack中的JAVA PROJECTS来加载外部jar包,然后再将整个Java项目打包。
2. 简单示例说明:读取边(src, dst)的文件,然后输出每个顶点对应的邻居顶点。该例子使用了外部jar包fastutil-8.5.8.jar。 可直接下载该项目的所有文件,点击[下载]。

1 VS Code添加插件Java Extension Pack
  • VS Code的商店中,搜索并安装“Java Extension Pack”。
    正确安装后,当打开Java项目时,会出现“JAVA PROJECTS”目录,如下图:




2 示例教程

java_program目录下,包括Java文件MainFunc.javaRunEdge.java和输入数据文件input.txt,以及外边安装包fastutil-8.5.8.jar

2.1 源码

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/796548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存