JavaParser 手动安装和配置

目录

前言

一、安装 Maven 工具

1.1 Maven 软件的下载

1.2 Maven 软件的安装

1.3 Maven 环境变量配置

1.4 通过命令检查 Maven 版本

二、配置 Maven 仓库

2.1 修改仓库目录

2.2 添加国内镜像

三、从 Github 下载 JavaParser

3.1 下载并解压 JavaParser

3.2 从路径打开命令提示符

四、编译并安装 JavaParser

4.1 修复缺少依赖导致的测试失败问题

4.2 编译 JavaParser

五、配置 IDEA 项目

六、配置 Eclipse 项目

6.1 Eclipse 插件

6.2 克隆项目

6.3 编译源

6.4 导入 (Core & Test)项目

6.5 将 JavaCC 源添加到核心项目构建路径

6.6 核心项目变更后的清理和构建


前言

JavaParser 是一款流行的 Java 代码分析工具。它是一套简单而轻量级的开源工具,可以来分析、转换和生成 Java 代码。

JavaParser 官网链接为:https://javaparser.org/。

我们可以通过流行的构建工具 Maven 或者 Gradle ,添加依赖项来部署本地仓库、编译和使用 JavaParser。

下面分析使用 JavaParser 从 Github 上手动下载和部署的方法。

一、安装 Maven 工具

Maven 是一个跨平台的项目管理工具。作为 Apache 组织的一个颇为成功的开源项目,其主要服务于基于 Java 平台的项目创建,依赖管理和项目信息管理。Maven 是 Apache 的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,Maven 自身是纯 Java 开发的,可以使用 Maven 对 Java 项目进行构建、依赖管理。

首先,我们需要安装 Maven 工具,以便于后面编译部署 JavaParser。

1.1 Maven 软件的下载

使用 Maven 管理工具,我们首先要到官网去下载它的安装软件。

Maven – Download Apache Maven:http://maven.apache.org/download.cgi

Maven 下载页面

1.2 Maven 软件的安装

Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下面。 解压后目录结构如下:

Maven 文件夹结构

关于目录结构的解释如下:

  1. bin:存放了 Maven 的命令;
  2. boot:存放了一些 Maven 本身的引导程序,如类加载器等;
  3. conf:存放了 Maven 的一些配置文件,如 setting.xml 文件;
  4. lib:存放了 Maven 本身运行所需的一些 jar 包;

1.3 Maven 环境变量配置

(1)在系统环境变量中新建并配置 MAVEN_HOME 变量,变量值就是这台计算机上 Maven 安装的路径(bin 目录的上一级目录)。

右键此电脑的属性选项:

如何打开系统属性设置

在打开窗口中,点击“高级系统设置”:

高级系统设置

点击环境变量设置:

打开环境变量设置

然后在系统变量中新建环境变量:

添加 Maven Home 系统环境变量

(2)在 Path 系统变量中添加引用 MAVEN_HOME 环境变量,并指向 \bin 子目录。

点击编辑 Path 变量的内容:

点击编辑 Path 变量

通过新建功能真正添加 Maven 环境变量(%JAVA_HOME%\bin)到系统 Path 路径:

添加 Path 变量

1.4 通过命令检查 Maven 版本

通过 Win + R 打开 “运行” 选项卡,输入 cmd 打开 命令提示符 窗口。随后,输入 mvn -v 命令检查 Maven 的安装版本。通过回显信息检查安装是否成功,看到 Maven 的版本为 3.9.6 及 Java 版本为 jdk-11 (你的电脑上环境变量配置的 JDK 版本)即为安装成功。 如下图所示:

检查 Maven 安装配置

二、配置 Maven 仓库

2.1 修改仓库目录

Maven 仓库默认路径在系统用户路径下的 .m2 目录下,我们不要将仓库放在 C 盘,所以这里要重新配置一下。

在 Maven 安装目录中,打开 conf 文件夹,可以看到一个 settings.xml 文件。用文本编辑器打开这个文件, 修改本地仓库的配置。

修改 Maven 仓库目录

打开 settings.xml 文件,相关配置如下所示:

修改 settings .xml 文件

2.2 添加国内镜像

Maven 默认的远程仓库是在国外,所以下载 jar 包时速度会非常慢,这里推荐大家使用阿里云国内镜像仓库。

在刚刚修改的 settings.xml 文件中,找到 mirrors 标签,将下面的内容复制并添加到 mirrors 中即可。

<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        
</mirror>

效果如下图所示:

添加国内镜像

三、从 Github 下载 JavaParser

3.1 下载并解压 JavaParser

配置完 Maven 后,我们就可以下载并部署 JavaParser 工具了。

可以在主页标题栏右侧点击按钮 “DownLoad” 跳转到源代码页面,也可以从 Github 打开 Release 发布页面。

从官网下载

在 Github 上点击 Release 下载最新的压缩文件: 

点击 Github Release 下载文件

下载压缩文件:

下载第一个 zip 文件

在下载完成后将其解压到英文路径:

解压后的文件目录结构

3.2 从路径打开命令提示符

切换到该路径打开终端命令提示符:

右键打开终端

如果不是,请选择打开命令提示符:

切换到命令提示符

提示:不要关闭该命令提示符,以便于接下来通过 Maven 的命令构建 JavaParser。

四、编译并安装 JavaParser

4.1 修复缺少依赖导致的测试失败问题

编译过程中会遇到 javaparser-core-testing-bdd 编译失败的问题。(如果还没开始构建,那么你来对了,先按照下面说明进行修复,然后再进行构建)

你可能会遇到下面的构建失败日志:

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:42 min
[INFO] Finished at: 2024-03-21T23:13:18+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test (default-test) on project javaparser-core-testing-bdd: There are test failures.
[ERROR]
[ERROR] Please refer to H:\MuJava\Downloads\javaparser-javaparser-parent-3.25.9\javaparser-core-testing-bdd\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :javaparser-core-testing-bdd

窗口中显示的结果如图: 

构建失败的提示

这种错误是因为缺少依赖导致的,这里提示我们缺少 org.apache.maven.plugins:maven-surefire-plugin:3.2.5 依赖。

进入源代码文件夹的 javaparser-core-testing-bdd 目录:

打开对应目录

找到并用文本编辑器打开 pom.xml 配置文件:

找到 POM 配置文件

找到 build -> plugins  标签,并在最后一个 </plugin> 标签后面追加新的插件依赖项:

找到 plugins 标签

追加下面的依赖项,注意需要根据你的错误日志中显示的版本合理修改 <version> 标签:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>
maven-surefire-plugin</artifactId>
                <version>
3.2.5</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

效果如图所示:

追加依赖项

修改完依赖缺失问题后,构建应该能够继续执行。

如果你之前已经开始构建,并因为此问题而导致构建失败。此时应该从中断的地方开始恢复构建,需要指定从 javaparser-core-testing-bdd 开始:

mvn package -rf :javaparser-core-testing-bdd

完成后效果如图所示: 

恢复构建过程

4.2 编译 JavaParser

请运行以下 maven 命令,以便于从源文件编译并生成打包的 jar 文件:

mvnw package

注意:常用的两个模块的 jar 文件可以在编译完成后,在以下位置找到:

  • javaparser/javaparser-core/target/javaparser-core-\<version\>.jar
  • javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-\<version\>.jar

构建完成后,其实几个目录下都会新增一个 target 文件夹,里面包含对应打包好的 jar 文件。

包含 jar 的文件夹

我们可以将这些 jar 文件手动复制到一个 bin 目录下(手动创建):

所有的 jar 文件

五、配置 IDEA 项目

IDEA 的项目只需要在项目的 pom.xml 配置文件中加上 maven 的配置即可。

一个 IDEA 项目的结构

在配置中添加  JavaParser 的依赖项。

内容如下所示:

<dependency><groupId>com.github.javaparser</groupId><artifactId>javaparser-core</artifactId><version>3.25.9</version>
</dependency>

插入效果如图:

追加 IDEA 项目的 JavaParser 依赖项

构建项目:

重新构建项目

如果你还不熟悉如何构建和在 IDEA 项目中使用 JavaParser ,你可以参考官方提供的两个快速入门项目 (javaparser-maven-sample、javasymbolsolver-maven-sample)。

六、配置 Eclipse 项目

6.1 Eclipse 插件

在继续下一节之前,请通过 Eclipse Marketplace 安装以下插件。您可以通过选择 IDE 菜单栏中的 Help->Installation Details 菜单项来检查它们是否已经安装。如上所述,这些插件可能取决于 PATH 变量中所需的条目。

  • EGit(Eclipse 的 Git 集成)
  • m2e(Maven 对 Eclipse 的支持)
  • m2e-connector for maven-dependency-plugin

您可能会发现这些插件也很有用,但不是必需的:

  • m2e javacc connector (更新站点)
  • Maven SCM Handler for EGit(支持 Maven SCM 命令)
  • GitHub Mylyn Connector(查看问题、拉取请求等)
  • JavaCC Eclipse(支持 JavaCC 文件)
  • SF JavaCC Eclipse Plugin-in Feature(支持 JavaCC 文件)
  • JBehaveEclipse(支持 JBehave 测试)
  • JBehaveEditor(支持 JBehave 测试)

6.2 克隆项目

要将项目克隆到 Eclipse 中,请在 Eclipse 中执行以下步骤:

  1. 在 IDE 菜单栏中选择 Window->Show View 菜单项。在筛选文本字段中键入 git,然后选择 git 存储库视图。
  2. 在存储库视图中,选择向下箭头,这是视图工具栏中的最后一个按钮。选择克隆存储库。
  3. 在 Select Repository Source 提示中,选择 Clone URI,然后按下 Next。
  4. 转到 GitHub 上的分叉存储库主页。按下绿色按钮上的向下箭头,上面写着 Clone or download。将 web URL 复制到剪贴板。URL 的形式为 https://github.com/<您的配置文件名称>/javaparser。在 Eclipse 中,将此 URL 粘贴到 URI 文本字段中,主机和存储库路径字段将自动填充。
  5. 使用您的配置文件凭据填写“身份验证”面板。还要选中“安全存储中的存储”,以防止 Eclipse 稍后再次提示您使用相同的凭据进行存储库更新。
  6. 按下 Next。
  7. 在“分支选择”提示中,使两个分支都处于选中状态,然后按下 Next。
  8. 在 Local Destination 提示符中,选择要将项目下载到的目录。理想情况下,这应该是 Eclipse 工作区目录。路径应该是:<path to workspace>/javaparser。保留所有其他选项不变。
  9. 祝贺您已经克隆了该项目,它在 Eclipse 中作为存储库存在。

6.3 编译源

要构建项目(并在接下来的部分中防止 IDE 错误),请执行以下步骤:

  1. 打开操作系统命令提示符并导航到项目的根目录。
  2. 键入 mvn-javacc:javacc。
  3. 键入 mvn clean install。安装可能需要一些时间。在 Maven 结果摘要中验证 javaparser 核心模块是否已成功构建。不要担心其他模块构建是否失败或暂时跳过。

6.4 导入 (Core & Test)项目

要将项目导入 Eclipse,请在 Eclipse 中执行以下步骤:

  1. 在 IDE 菜单栏中选择 File->Import 菜单项。在 filter 文本字段中键入 maven,然后选择 Existing maven Projects 选项。
  2. 在 Select Project 提示符中,单击 Browse 按钮并导航到 javaparser 核心项目的根文件夹。按“OK”。确保已选择 Projects 文本区域中显示的 POM 文件。按 Finish。请注意,如果您还没有安装 m2e connector for javacc-maven-plugin,Eclipse 将提醒您一个未解决的错误。如果是这样的话,您仍然可以为了我们的目的毫无问题地继续。
  3. 在 Package Explorer 视图中,项目应该显示为带有 Maven、Java 和 Git Nature 图标的注释。
  4. 对 javaparser 测试项目重复步骤 1-3。
  5. 祝贺您已经导入了项目,几乎可以开始测试了。

6.5 将 JavaCC 源添加到核心项目构建路径

建议打开 Problems view ,在 Eclipse 中执行以下步骤时查看项目错误的解决方法:

  1. 右键单击 javaparser 核心项目。在上下文菜单中,选择 Build Path->Configure Build Path。
  2. 在主面板中,确保已选择“源”选项卡。按添加文件夹。展开 target->generated sources 并选择 javacc。不要取消选择任何其他选定的目录。按 OK。
  3. 按“Apply”和“OK”。清理并构建您的工作区。应解决所有错误。

6.6 核心项目变更后的清理和构建

由于 javaparser-core 在测试项目的 POM 文件中被指定为 Maven 依赖项,因此它应该已经列在 javaparser-testing 项目的 Maven Dependencies 目录下。但是,在对核心项目进行更改后,您需要重新构建 javaparser 测试。我建议在 Eclipse 的 Project 菜单中应用 Clean 选项。


转载请注明原文出处链接:

https://blog.csdn.net/qq_59075481/article/details/136953645

本文发布于:2024.03.22,更新于:2024.03.23.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯单片机快速开发笔记——利用定时器计数器设置定时器

一、基本原理 参考本栏http://t.csdnimg.cn/iPHN0 二、具体步骤 三、主要事项 如果使用中断功能记得打开总中断EA 四、示例代码 void Timer0_Isr(void) interrupt 1 { }void Timer0_Init(void) //10毫秒12.000MHz {AUXR & 0x7F; //定时器时钟12T模式TMOD & 0xF0;…

python网络爬虫实战教学——requests的使用(2)

文章目录 专栏导读1、POST请求2、响应3、Cookie设置 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN 数据分析领域优质创作者&#xff0c;专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》&#xff0c;本专栏针对大学生、初级数据分析工程…

Typecho 博客文章评论添加显示 UserAgent(UA)的功能

本篇文章实现了为 Typecho 博客文章评论添加显示 UserAgent&#xff08;UA&#xff09;的功能本功能可替代 UserAgent 插件&#xff0c;更美观、简洁且好看 效果显示 大概就是这样了&#xff0c;实际效果请看我的评论&#xff01; 目前可以识别的操作系统以及浏览器 食用方…

Qt教程 — 3.5 深入了解Qt 控件:Display Widgets部件(1)

目录 1 Display Widgets简介 2 如何使用Display Widgets部件 2.1 QLabel组件-显示图像或文本 2.2 QCalendarWidget组件-日历简单的使用 2.3 QLCDNumber组件-控件作时钟的显示 2.4 QProgressBar组件-模拟手机电池充电 2.5 QFrame组件-绘制水平/垂直线 Display Widgets将分…

【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、红黑树的概念二、红黑树的模拟实现2.1 结点2.2 成员变量2.3 插入情况一&#xff1a;uncle在左&#xff…

【Python】Scrapy整合FastAPI实现爬虫API 附大量示例

文章目录 前言1. 网页分析入门1.1 基本原理1.2 Scrapy 原理 2. 创建项目2.1 创建Scrapy项目2.2.1 创建Scrapy项目2.2.2 创建Spider2.2.3 执行Demo 2.2 引入FastAPI 2. 获取Cookie3. 数据建模3.1 Scrapy 数据建模3.2 SQLAlchemy 创建实体类 3. 分析网页3.1 xpath 分析3.2 css 分…

Kotlin协程CoroutineScope命名空间CoroutineName,Kotlin

Kotlin协程CoroutineScope命名空间CoroutineName&#xff0c;Kotlin import kotlinx.coroutines.*fun main(args: Array<String>) {val myName CoroutineName("fly")runBlocking {CoroutineScope(Dispatchers.IO).launch {repeat(3) {val name coroutineCont…

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇 好几年前&#xff0c;应朋友之邀&#xff0c;为其工厂的厨余垃圾处理设备研发一套用于对现场的生产及维护进行远程查看、管理和质量监控的厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件系统。 因为…

9.串口通信

串口基本认识 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方 式的扩展接口。串行接口&#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简 单&#x…

搭建 canal 监控mysql数据到RabbitMQ

项目需求&#xff1a; 使用canal监控mysql某个库某个表&#xff0c;或者多个库&#xff0c;多个表---- update/inster/create 操作&#xff0c; 系统版本mysql版本java版本canal版本rabbitMQ版本Rocky 9.2MySQL 8.0.26openjdk 11.0.221.1.6rabbitmq-server 3.12.4 mysql 配置…

淘宝扭蛋机小程序开发:开启线上扭蛋新体验

随着科技的飞速发展和移动互联网的普及&#xff0c;线上娱乐方式也变得越来越多样化。为了满足广大用户对于新鲜、有趣的娱乐体验的需求&#xff0c;我们决定开发一款淘宝扭蛋机小程序&#xff0c;为用户带来全新的线上扭蛋乐趣。 淘宝扭蛋机小程序将结合淘宝平台的优势资源&a…

flask_restful渲染模版

渲染模版就是在 Flask_RESTful 的类视图中要返回 html 片段代码&#xff0c;或 者是整个html 文件代码。 如何需要浏览器渲染模板内容应该使用 api.representation 这个装饰器来定 义一个函数&#xff0c; 在这个函数中&#xff0c;应该对 html 代码进行一个封装&#xff…

基于nginx 动态 URL反向代理的实现

背景&#xff1a; 我们在项目中在这样一个场景&#xff0c;用户需要使用固定的软件资源&#xff0c;这些资源是以服务器或者以容器形式存在的。 资源以webAPI方式在内网向外提供接口&#xff0c;资源分类多种类型&#xff0c;每种类型的资源程序和Wapi参数都一样。这些资源部属…

学习SpringBoot笔记--知识点(1)

目录 SpringBoot介绍 创建一个最基础的springbooot项目 使用Spring Initializr创建springboot项目 Spring Boot 自动配置机制 SpringBoot常用注解 1.组件注册 2.条件注解 3.属性绑定 SpringBoot自动配置流程​编辑 学习SpringBoot的方法 ​编辑 SpringBoot日志配置…

2015年认证杯SPSSPRO杯数学建模A题(第一阶段)绳结全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 A题 绳结 原题再现&#xff1a; 给绳索打结是人们在日常生活中常用的技能。对登山、航海、垂钓、野外生存等专门用途&#xff0c;结绳更是必不可少的技能之一。针对不同用途&#xff0c;有多种绳结的编制方法。最简单的绳结&#xff0c;有时称…

PyCharm环境下Git与Gitee联动:本地与远程仓库操作实战及常见问题解决方案

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言下载及安装GitGit的使用设置用户签名设置用户安全目录Git基本操作Git实操操作 Pyc…

SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓

文章目录 SpringBootVue前后端分离项目在Linux系统中基于Docker打包发布&#xff0c;并上传镜像到阿里镜像私仓一、Java项目基于Docker打包发布1.打包应用&#xff0c;将打好的jar包放到我们的linux系统中2.新建dockerfile3.打包镜像4.测试运行5.上传镜像到阿里云免费私仓 二、…

Webpack生成企业站静态页面 - 项目搭建

现在Web前端流行的三大框架有Angular、React、Vue&#xff0c;很多项目经过这几年的洗礼&#xff0c;已经都 转型使用这三大框架进行开发&#xff0c;那为什么还要写纯静态页面呢&#xff1f;比如Vue中除了SPA单页面开发&#xff0c;也可以使用nuxt.js实现SSR服务端渲染&#x…

基于前端技术实现的全面预算编制系统

前言 在现代商业环境中&#xff0c;预测销售数据和实际成本是每个公司CEO和领导都极为重视的关键指标。然而&#xff0c;由于市场的不断变化&#xff0c;准确地预测和管理这些数据变得愈发具有挑战性。为了应对这一挑战&#xff0c;建立一个高效的系统来管理和审查销售数据的重…

hbase启动错误-local host is“master:XXXX“ destination is:master

博主的安装前提&#xff1a; zookeeper安装完成&#xff0c;且启动成功 hdfs高可用安装&#xff0c;yarn高可用安装&#xff0c;且启动成功 报错原因&#xff1a;端口配置不对 解决方案&#xff1a; 输入&#xff1a;hdfs getconf -confKey fs.default.name 然后把相应的…