如何把一个基于Maven项目所有的jar文件快速列出到Excel?

我们在做项目的时候,有的时候根据公司法务部门的要求,我们需要把项目中用到的所有的jar文件,整出一个Jar文件的列表,如果项目比较小的话,还好说,如果项目比较大的话,就比较麻烦了,因为jar包之间是有直接和间接依赖的。比如在Maven的配置文件里显式申明了A的依赖,但是A的依赖又可能依赖于B,C,D等。
那么有没有一种方法可以很方便的列出其项目中用到的所有的jar呢?且能够很快速的导入到Excel里面来?
假设其Pom.xml文件中的依赖如下:


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.winterbe.react.Application</start-class>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.7.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
1. 首先使用maven的命令,把项目所有的依赖导出到一个txt文件,命令如下.
mvn dependency:tree -Doutput=1.txt

生成的1.txt文件如下:
这里写图片描述

2.打开编辑器,把所有的+,-,空格替换掉,1分钟左右,很快替换成下面的样子

这里写图片描述

3.把所有的”:”替换成“,”,并把1.txt后缀名改成1.csv,打开后如下,并删除

红色标出的行和列

这里写图片描述

4. 用Excel的公式生成jar文件名称

这里写图片描述

5. 复制黏贴出来

在Excel里面,通过计算公式计算出的结果,如果直接拷贝是得不到文本的。
需要一个小技巧,那就是选择原值黏贴,请参考下图。
这里写图片描述

结果终于做出来,该歇口气了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
通常业务需求都是客户端一个导出按钮,发送请求到服务端,服务端写一个接口导出报表到客户端,客户可以自行下载。无论Struts或者springMVC均可。 @RequestMapping("Export") @ResponseBody public String getAll(HttpServletRequest request,HttpServletResponse response) throws IOException{ //集合为需要导出数据,数据查询得到,这里测试就不写了。 List<User> list=new ArrayList<User>(); // 生成Excel文件 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); HSSFSheet sheet = hssfWorkbook.createSheet("测试数据"); // 表头 HSSFRow headRow = sheet.createRow(0); headRow.createCell(0).setCellValue("姓名"); headRow.createCell(1).setCellValue("手机号码"); headRow.createCell(2).setCellValue("年龄"); // 表格数据 for (User user : list) { HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1); dataRow.createCell(0).setCellValue(user.getName()); dataRow.createCell(1).setCellValue(user.getPhone()); dataRow.createCell(2).setCellValue(user.getAge()); } // 下载导出(一个流两个头) // 设置头信息 response.setContentType( "application/vnd.ms-excel"); // MIME .jpg .xls .mp3 .avi .txt .exe String filename = "驾驶员数据.xls"; //如果为Struts框架,获得request和response可用ServletActionContext String agent = request .getHeader("user-agent"); filename = FileUtils.encodeDownloadFilename(filename, agent); response.setHeader("Content-Disposition", "attachment;filename=" + filename); ServletOutputStream outputStream = response .getOutputStream(); //输出 hssfWorkbook.write(outputStream); // 关闭 hssfWorkbook.close(); //System.out.println("导出成功"); return "success"; }
### 回答1: 在Maven项目中调用一个jar包有两种方式: 1. 将jar包安装到本地Maven仓库,然后在项目的pom.xml文件中声明该依赖。首先需要将jar包安装到本地Maven仓库,在命令行中使用以下命令:`mvn install:install-file -Dfile=<path-to-jar> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=jar`,其中`<path-to-jar>`是jar包的路径,`<group-id>`是jar包的组织ID,`<artifact-id>`是jar包的项目ID,`<version>`是jar包的版本号。然后在项目的pom.xml文件中添加该依赖的坐标信息,如: ```xml <dependency> <groupId><group-id></groupId> <artifactId><artifact-id></artifactId> <version><version></version> </dependency> ``` 随后使用Maven构建项目Maven会自动从本地仓库下载并添加该jar包的依赖。 2. 如果jar包未发布到Maven中央仓库或本地仓库,可以通过在pom.xml中添加本地jar包的路径来引用。在项目的pom.xml文件中添加以下代码: ```xml <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/example.jar</systemPath> </dependency> </dependencies> ``` 上述代码中的`<systemPath>`指定了jar包的路径,`${project.basedir}`表示项目根目录。引入该依赖后,使用Maven构建项目时会将该jar包加入到构建路径中。 以上是两种常用的方式,根据具体情况选择适合的方式来调用一个jar包。 ### 回答2: 在Maven项目中调用一个jar包,需要完成以下步骤: 1. 在Maven项目的pom.xml文件中,添加依赖项的配置。在项目的dependencies节点下,添加相应的坐标和版本号。例如,如果要调用一个名为"example.jar"的jar包,可以添加如下配置: ``` <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0.0</version> </dependency> </dependencies> ``` 其中,groupId表示jar包的唯一标识,artifactId表示jar包的名称,version表示jar包的版本号。 2. 在Maven项目的根目录下运行mvn install命令,以下载和安装依赖项。这将从Maven仓库中获取所需的jar包,并将其添加到项目的classpath中。 3. 在项目的Java代码中,使用import语句导入所需的类或方法。例如,如果jar包中包含一个名为"ExampleClass"的类,可以在代码中引用该类: ``` import com.example.ExampleClass; ``` 4. 使用导入的类或方法完成所需的逻辑。可以创建类的实例并调用其中的方法,或者直接调用jar包中的静态方法。 总结来说,要在Maven项目中调用一个jar包,需要在pom.xml文件中添加依赖项的配置,并运行mvn install命令来下载和安装依赖项。然后,在Java代码中使用import语句导入所需的类或方法,并使用它们完成需要的逻辑。 ### 回答3: 调用一个jar包的步骤如下: 1. 在Maven项目的pom.xml文件中添加该jar包的依赖: ``` <dependencies> <dependency> <groupId>groupID</groupId> <artifactId>artifactID</artifactId> <version>version</version> </dependency> </dependencies> ``` 其中,groupID是该jar包的组织ID,artifactID是该jar包的项目ID,version是该jar包的版本号。这些信息可以在该jar包的官方文档或者仓库中找到。 2. 保存pom.xml文件后,Maven会自动下载该jar包,并将其添加到项目的classpath中。 3. 在Java代码中导入该jar包的类或方法: ```java import xxx.jar包中的类或方法; ``` 其中,xxx是该jar包的包名。 4. 在代码中使用该jar包的功能: ```java xxx.jar包中的类或方法.功能(); ``` 根据该jar包的具体功能,调用其提供的方法或使用其提供的类进行相应的操作。 5. 使用Maven进行编译、构建和运行项目: ``` mvn compile // 编译项目 mvn package // 构建并打包项目 mvn install // 安装项目到本地Maven仓库 mvn clean package // 清理并构建项目 mvn clean install // 清理并安装项目 mvn test // 运行项目的测试用例 ``` 通过以上步骤,就可以成功调用一个jar包并在Maven项目中使用其功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值