在Mac上安装Aspectj1.9.8(用于Java17)

news2024/11/25 12:09:45

1. 确定所使用的Java版本和AspectJ的对应关系

2. 下载AspectJ包

3. 安装AspectJ

4. 添加AspectJ对应的环境变量

5. 测试AspectJ

        5.1 简单命令行测试安装是否成功

        5.2 在IDEA中添加对AspectJ的支持【todo】

        5.3 敲测试代码并进行测试【todo】

        

---------------------------------------详细教程---------------------------------------

1. 确定所使用的Java版本和AspectJ的对应关系

AspectJ版本和Java版本的兼容性对应图(Aspects and Java version cpmpatibility)
AspectJ版本和Java版本的兼容性对应图(Aspects and Java version cpmpatibility)

上图来源于AspectJ和Java版本的兼容性列表(来源于aspect的官方github) 

2. 下载AspectJ包

!!!自己找到所需要版本的AspectJ并下载即可。(本人使用的是Java17版本,所以是对应安装AspectJ 1.9.8)

下载链接1: AspectJ下载链接【来源于Eclipse】

下载链接2: AspectJ下载链接【来源于Github】

3. 安装AspectJ

        3.1 直接打开AspectJ的下载路径文件夹,双击进行安装。不出意外的话,mac系统应该会提示macOS无法验证此App是否包含恶意软件

        

mac软件安装安全提示

        3.2 这时候打开 系统设置-隐私与安全性,选择安全性下的仍要打开进行安装;

系统设置-隐私与安全性-安全性-点击仍要打开

 

         3.3 经过3.2步骤后,会自动弹出AspectJ的安装窗口,以下开始正式安装:

AspectJ安装界面1-介绍信息-点Next
AspectJ安装界面2-Java安装路径确认-没问题点Next(AspectJ会自动搜索Java安装路径,没找对的话可以自己修改)

AspectJ安装界面3-AspectJ安装路径确认-没问题点Install

AspectJ安装界面4-AspectJ安装完成
AspectJ安装界面5-AspectJ帮助信息提示
其中,第1条提示的粗体黑色路径所指示的文件一般是用于添加到自己的java项目中;
第2条提示的粗体黑色路径是用于该路径添加到自己的环境变量中(如~/.bash_profile);
最下面那条黑色粗体路径是AspectJ的README,有需要可以自己看看

4. 添加AspectJ对应的环境变量

        4.1 打开mac的terminal终端,输入

sudo vi ~/.bash_profile

        4.2 将光标用“键盘下键”移动到文件最下面一行,然后点击“键盘i键”进行输入,参考自己AspectJ的安装路径bin路径,本人路径为:

export PATH=$PATH:/Users/xxxxx/aspectj1.9/bin

        4.3 点击“键盘esc键”退出vi编辑模式,并输入:wq保存文件并退出vi;

        4.4 在终端输入以下指令,以更新环境变量配置。

source ~/.bash_profile

5. 测试AspectJ

        5.1 简单命令行测试安装是否成功,没有提示指令无法识别即安装AspectJ成功;

ajc
ajc指令测试-输入ajc指令后出现如图所示即AspectJ安装成功

 以下内容懒得写了,其他博客很多,自行google和百度。。。

        5.2 在IDEA中添加对AspectJ的支持【todo】

        5.3 敲测试代码并进行测试【todo】›

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

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

相关文章

如何将window文件夹挂载到VMware系统mnt目录

背景:项目开发过程中,通常是在Windows上编码,有些框架和软件只能够在Linux上面执行,如果在 VMware中的Linux上面开发不太方便,因此需要在Windows上面开发好再同步到Linux上面运行。 软件: Samba客户端 V…

nodejs安装及环境变量配置(修改全局安装依赖工具包和缓存文件夹及npm镜像源)

本机环境:win11家庭中文版 一、官网下载 二、安装 三、查看nodejs及npm版本号 1、查看node版本号 node -v 2、查看NPM版本号(安装nodejs时已自动安装npm) npm -v 四、配置npm全局下载工具包和缓存目录 1、查看安装目录 在本目录下创建no…

抓包技术的应用示例

前言 最近瑞幸在搞活动,每天免费送10000份咖啡,我是个不喝咖啡的人儿,所以没咋关注,今早我们的团宠小妹,拉着我 10点整拼手速,想着帮她抢一杯,于是点开瑞幸咖啡小程序主页,banner 栏…

数学建模常用算法之主成分分析

数学建模常用算法之主成分分析 引言步骤实例以及代码 引言 主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,且能反映出原始数据的大部分信息。 一般来说&#…

机器学习笔记 - vision transformer(ViT)简述

一、ViT简述 视觉转换器 vision_transformer(ViT) 因其令人印象深刻的准确率和计算效率而迅速成为卷积神经网络 (CNN) 在计算机视觉任务中的首选替代品。ViT模型在许多数据集和任务组合中的表现比CNN高出近4倍,从而确立了自己作为非常强大的竞争者的地位。 同样,基于转换…

采样中断服务程序原理

采样中断服务程序框图如图2-6所示。采样中断服务程序主要包括采样计算,TV、TA断线自检和保护起动元件三个部分。同时还可以根据不同的保护特点,增加一些检测被保护系统状态的程序。 一、采样计算概述 进入采样中断服务程序,首先进…

抖音林客服务商入驻申请

抖音林客服务商后台提供了以下主要功能: 数据报告:可以查看账户的广告投放、效果等数据报告,并进行数据分析和优化。 广告投放平台:可以创建和管理广告投放计划、定向和出价等设置,以及监控广告投放效果。 …

【032】C++高级开发之继承机制详解(最全讲解)

C的继承机制详解 引言一、继承和派生1.1、继承的概念和意义1.2、派生类的定义 二、继承中的构造和析构2.1、子类的构造和析构顺序2.2、子类调用成员对象、父类的有参构造 三、子类和父类的同名处理3.1、子类和父类同名成员数据3.2、子类和父类同名成员函数3.3、子类重定义父类的…

2.5C++多重继承

C 多重继承概述 C中的多重继承是指一个派生类可以从多个基类中继承属性和方法。 多重继承的作用是让 C 中的类更灵活地组合,以及实现代码的高复用。 多重继承的语法如下: access_specifier可以是public、protected或private,用来指定继承…

python学习——文本数据处理

目录 1 计算长度 len2 大小写 lower、upper、title、capitalize、swapcase3 字符检索 get、slice4 元素提取 findall、extract5 索引操作 find、index6 字符类型判断,结果一定是True或False7 字符判断 contains、startswith、endswith8 替换 replace9 字符的分割 split、partit…

鸿蒙HarmonyOS开发环境初识及搭建

一 鸿蒙简介 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供…

A Sequence-to-Set Network for Nested Named Entity Recognition

原文链接: https://www.ijcai.org/proceedings/2021/0542.pdf IJCAI 2021 介绍 问题 将嵌套NER视为span分类任务存在两个缺陷,不仅搜索空间大还缺少了实体之间的交互。 IDEA 因此作者提出了sequence-to-set的模型,不再提前给定span&#x…

【数据分享】全国县市2000-2021年农业、工业数据(免费获取)

《中国县域统计年鉴》是一部全面反映我国县域社会经济发展状况的资料性年鉴,收录了上一年度全国2000多个县域单位的基本情况、综合经济、农业、工业、教育、卫生、社会保障等方面的资料。 之前基于《中国县域统计年鉴》我们分享了2000至2021年的综合经济数据&#…

详解eslint在vue中如何使用

ESLint在vue中的使用 阅读目录 .editorconfig文件(主要用于配置IDE).eslintignore文件(放置需要ESLint忽略的文件,只对.js文件有效).eslintrc.js 文件(用来配置ESLint的检查规则) ESLint的用途 1.审查代码是否符合编…

SwinTransformer与Vit细节总结

建议通过标题来快速跳转 Vit (Vision Transformer) Vit把图片打成了patch,然后过标准的TransformerEncoder,最后用CLS token来做分类 Vit的位置编码 作者在文中试了几种方式,发现这几种在分类上效果差不多 1-dimensional positional emb…

EMQ 明道云:零代码高效构建工业物联网设备管理平台

背景 智能物联网设备在 IIoT 场景中有着广泛的应用,但如何管理和监控这些设备是一个挑战。 明道云是一家专业的 hpaPaaS 平台服务商,其所开发的明道云平台(Mingdao Cloud)是一个企业软件设计和开发工具,让企业可以低…

[230608] 阅读TPO58汇总|7:30-9:00+17:05

目录 ​​​​​​​ TPO58 1 The Development of Instrumental Music [3]修辞目的题 举例说明的作用 [9]句子插入题 [10]小结题 2 Pinyon Pines and Pinyon Jays [4]否定事实信息题 [5]修辞目的题 段落在全篇的作用 [10]小结题 3 The Rise of Classic Maya Civi…

SecCertificate 解析

一、SecCertificate A digital certificate is a collection of data used to securely distribute the public half of a public/private key pair. 数字证书 1. 结构 2. 读取和存储 2.1 Identity var certificate: SecCertificate? let status SecIdentityCopyCertific…

12.分布式事务流程与事务消息源码分析

highlight: arduino-light Rocket事务流程&源码分析 Rocket解决分布式事务流程 事务消息分 2 个阶段: ① 正常事务消息的发送与提交: a.发送消息(half 消息) b.服务响应消息写入结果 c.根据发送结果执行本地事务(如果写入失败,此时half消…

Midjourney使用教程:三 图片风格提示

这里我根据现在的官方文档来继续我们的Midjourney的教程,看到这里如果你去实践的话,估计你已经有了好多张属于自己的图片。 这时候你不在满足简单的提示生成的Midjourney的默认风格图片,实际上你可以通过一些关键词做提示,来改变…