Template error, template file not found

maven 使用 wagon-maven-plugin 自动编译并发布jar到服务器

pom文件里追加下面的操作可以自动发布:<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</art...
继续阅读 »

pom文件里追加下面的操作可以自动发布:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/${pack-name}</fromFile>
<url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url>
<commands>
<!-- Kill Old Process -->
<command>kill -9 `ps -ef |grep ${project.artifactId}.jar|grep -v "grep" |awk '{print $2}'`</command>
<!-- Restart jar package,write result into renren.log -->
<command><![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=test > ${service-path}/sanshu.log 2>&1 & ]]></command>
<command><![CDATA[netstat -nptl]]></command>
<command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
</commands>
<!-- 运行命令 mvn clean package wagon:upload-single wagon:sshexec-->
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>


代码解释如下:

这段POM (Project Object Model) 代码配置了一个 Maven 插件,wagon-maven-plugin,用于在 Maven 构建过程中执行远程操作,例如上传文件和执行远程服务器上的命令。以下是详细解释:

  • groupId & artifactId: 这些元素指定了插件的 Maven 坐标。对于此段代码,它指定了 wagon-maven-plugin,一个由 org.codehaus.mojo 组提供的 Maven 插件。

  • version: 插件版本号为 1.0。

  • configuration: 配置部分详细指定了插件的运行配置。

    • 第一个命令用于杀死旧的进程,通过查找包含项目的 artifactId 在其命令行中的 Java 进程。

    • 第二个命令重启 jar 包,并将输出重定向到一个日志文件中。

    • 第三个和第四个命令分别用于检查网络端口的监听状态和查找运行中的 Java 进程。

    • fromFile: 指定了要上传的文件。这里使用了 Maven 属性 ${pack-name} 来动态指定文件名。这意味着你可以在 Maven 的配置文件中指定 pack-name 的值,它将被解析并用于替换这个占位符。

    • url: 指定了文件上传的目标 URL。这里使用了 scp 协议(安全复制协议),并且动态插入了多个 Maven 属性,包括远程服务器的用户名、密码、地址以及服务路径。这些都被包含在 CDATA 区域内,允许包含特殊字符而不被 XML 解析器处理。

    • commands: 定义了一系列在远程服务器上执行的命令。

    • displayCommandOutputs: 设置为 true,意味着插件会显示每个执行命令的输出。

  • 运行命令: 注释中提到的命令 mvn clean package wagon:upload-single wagon:sshexec 说明了如何使用这个插件。clean package 会清理旧的构建并创建一个新的包,wagon:upload-single 会上传这个包到配置的远程位置,而 wagon:sshexec 会在远程服务器上执行配置的命令序列。

总之,这段代码配置的 Maven 插件提供了一种机制,通过它,开发者可以在构建过程中自动化地上传文件到远程服务器,并在服务器上执行一系列预定义的命令,例如重启应用程序。这种自动化可以显著提高部署效率,特别是在持续集成/持续部署(CI/CD)流程中。


收起阅读 »

java wagon-maven-plugin插件说明

wagon-maven-plugin 是一个 Maven 插件,由 Codehaus Mojo 项目组织提供。它主要用于在 Maven 构建过程中提供对远程内容仓库的上传和下载支持。通过 wagon-maven-plugin,开发者可以将构建产物(如 JAR、...
继续阅读 »

image.png

wagon-maven-plugin 是一个 Maven 插件,由 Codehaus Mojo 项目组织提供。它主要用于在 Maven 构建过程中提供对远程内容仓库的上传和下载支持。通过 wagon-maven-plugin,开发者可以将构建产物(如 JAR、WAR 文件等)上传到指定的远程仓库,或从远程仓库下载所需的文件到本地构建环境中。这个插件通过 Maven 的 wagon API 实现对多种远程传输协议的支持,包括但不限于 HTTP(S)、FTP、SCP等。

主要特点

  • 多协议支持:支持多种文件传输协议,包括 HTTP、HTTPS、FTP、SCP 等,这意味着它可以与多种远程服务器和仓库交互。

  • 灵活性:插件提供了多个目标(goals),如 upload-single、download-single、upload 和 download 等,这些目标可以被用来在 Maven 生命周期的不同阶段执行文件的上传和下载。

  • 配置灵活:可以在项目的 pom.xml 文件中配置插件,允许对上传或下载操作进行详细的设置,比如指定远程仓库的位置、认证信息、文件路径等。

  • 集成简单:作为 Maven 插件,wagon-maven-plugin 可以轻松集成到现有的 Maven 项目中,通过在项目的 POM 文件中添加配置即可使用。

使用场景

  • 自动化部署:在持续集成/持续部署(CI/CD)流程中,可以使用 wagon-maven-plugin 来自动上传构建产物到部署服务器或应用服务器。

  • 资源共享:当需要在项目团队或组织内共享构建产物时,可以使用该插件将文件上传到内部仓库,供其他项目或团队成员下载使用。

  • 环境配置:在项目构建前,可以使用该插件从远程仓库下载特定的配置文件或资源,以确保构建环境的一致性。

注意事项

  • 安全性:使用 wagon-maven-plugin 进行文件传输时,特别是使用诸如 SCP 或 FTP 之类的协议时,需要注意认证信息的安全性。建议使用安全的方式(如 CI/CD 系统的秘密管理功能)来存储和使用敏感信息。

  • 网络依赖:由于该插件涉及到网络传输,构建过程的稳定性和速度可能会受到网络状况的影响。在配置使用时,需要考虑到网络的可靠性和传输速度。

总之,wagon-maven-plugin 提供了一种便捷的方式,通过 Maven 构建过程来实现文件的上传和下载,特别适合在自动化构建和部署流程中使用。


收起阅读 »

AI在线小助手(chatgpt)

1. 我们的网站:网址是 www.xcat.cn。支持手机微信内打开,或者公众号下方菜单打开,或者电脑浏览器打开,建议电脑浏览器里用。以下操作都是在公众号【我的AI智能助手】里完成2. 第一次使用:    在公众号【我的AI智能助...
继续阅读 »

1. 我们的网站:

网址是 www.xcat.cn。支持手机微信内打开,或者公众号下方菜单打开,或者电脑浏览器打开,建议电脑浏览器里用。


以下操作都是在公众号【我的AI智能助手】里完成

image.png


2. 第一次使用:

    在公众号【我的AI智能助手】菜单里的【菜单】->【打赏】,打赏成功即可打开上述网站使用。


3. 关于续费:

    1. 续费操作是在在公众号【我的AI智能助手】菜单里的【菜单】->【打赏】,打赏成功即可续费。

    2. 我们的使用是按月冲的,没啥年费会员啥的,如果你中途不需要使用,到期后可以停着,下次需要使用的时候继续续费即可。

        比如你1月用过,2,3,4月都用不到,5月的时候又需要了,那5月充值就会从充值的那天开始算。

    网站目前有GPT3.5 、GPT4.0,文件上传提问 以及其他一些功能,进去可以看到。


收起阅读 »

免费的文字转语音接口

https://dict.youdao.com/dictvoice?audio=%E4%BF%BA%E6%96%AF%E4%B8%89%E8%8B%8F%EF%BC%8C%E5%AB%A9%E6%89%BE%E4%BF%BA%E4%BD%9C%E7%94%9A...
继续阅读 »

定义一个切面日志

我们可以通过aspect进行无侵入式的日志记录,具体代码如下:定义一个注解@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @inte...
继续阅读 »

我们可以通过aspect进行无侵入式的日志记录,

具体代码如下:

定义一个注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LogOperation {
    String value() default "";
}

我们定义一个切面处理类。

并定义切面,然后,通过@Around("logPointCut()")注解,你定义了一个环绕通知(Around Advice),它将围绕着上述切点定义的方法执行。这意味着,每当有方法被@LogOperation注解标记,并被调用时,around方法就会被触发。在这个方法内部,你可以在目标方法执行前后添加自定义逻辑,比如记录日志、计算执行时间等。

/**
* 系统⽇志,切⾯处理类
*/
@Aspect
@Component
public class LogOperationAspect {
    @Autowired
    private SysLogOperationService sysLogOperationService;
    
    @Pointcut("@annotation(cn.sanshu.common.annotation.LogOperation)")
    public void logPointCut() {
        
   }
    
    @Around("logPointCut()")
    public Object around(ProceedingJoinPoint point) throws Throwable {
        long beginTime = System.currentTimeMillis();
        try {
            //执⾏⽅法
            Object result = point.proceed();
            
            //执⾏时⻓(毫秒)
            long time = System.currentTimeMillis() - beginTime;
            //保存⽇志
            saveLog(point, time, OperationStatusEnum.SUCCESS.value());
            
            return result;
       }catch(Exception e) {
            //执⾏时⻓(毫秒)
            long time = System.currentTimeMillis() - beginTime;
            //保存⽇志
            saveLog(point, time, OperationStatusEnum.FAIL.value());
            
            throw e;
       }
   }
    
    private void saveLog(ProceedingJoinPoint joinPoint, long time,
Integer status) {
        //逻辑对象处理
        
        //保存到DB
        sysLogOperationService.save(log);
   }
}


使用:

image.png

收起阅读 »

基于文心大模型开发的应用在应用商店/微信小程序上架指南

各位开发者使用百度智能云千帆大模型平台的文心大模型开发的各种应用/小程序在上架各大应用商店/微信小程序平台的时候总是会遇到重重关卡,其中最难过的一关便是审核关。各大应用商店和微信小程序平台对于应用了「应用含深度合成或生成式人工智能服务」的应用都有这比较严格的资...
继续阅读 »

各位开发者使用百度智能云千帆大模型平台的文心大模型开发的各种应用/小程序在上架各大应用商店/微信小程序平台的时候总是会遇到重重关卡,其中最难过的一关便是审核关。
各大应用商店和微信小程序平台对于应用了「应用含深度合成或生成式人工智能服务」的应用都有这比较严格的资质要求,其中最核心的2点要求如下:
①技术主体的《互联网信息服务算法备案》(算法类型为“生成合成类(深度合成)”)或《互联网信息服务算法备案》(算法类型为“生成合成类”)在审批中的系统截图
②应用/小程序主体与技术主体的合作协议(协议需含【算法名称】或【应用产品】或【备案编号】相关内容)

第一点很好办,百度的文心大模型在互联网信息服务算法备案系统中的备案截图。文心大模型算法已经与2023年9月1日通过了算法备案,在系统中也可以查到:

  1. 进入互联网信息服务算法备案系统:https://beian.cac.gov.cn/#/searchResult

  2. 搜索技术主体「百度」

  3. 找到「文心大模型算法-2」的备案记录并截图

image.png

第二点就有点难度,联系百度让其出具一份写了算法名称的合作协议?具体应该找谁?协议应该怎么写?不用考虑这些,直接在百度智能云控制台下载电子合同就可以了。为了让开发者尽快完成应用上架,降低大家的操作成本,百度智能云售后技术支持团队与千帆产研团队紧锣密鼓的给大家趟平了路,根据审核规则,在电子合同内补齐了算法名称信息。获取步骤如下:

  1. 登录百度智能云控制台,进入合同管理页面:https://console.bce.baidu.com/billing/contract/list

  2. 点击生成合同,选择订单合同

image.png

image.png

  1. 勾选当时开通ERNIE-Bot或者ERNIE-Bot-turbo推理服务的订单(只有百度自研的文心大模型的产品配置才会展示算法名称),点击下一步

image.png

  1. 按实际情况,填写地址、联系人、电话,点击生成草稿合同

image.png

  1. 刷新页面,点击生成的草稿合同,可以看到配置列展示了模型名称和算法名称

image.png

image.png

  1. 点击转成正式合同,刷新页面,最后下载正式合同即可

  2. image.pngimage.png下载的正式合同中有百度智能云的电子公章,可以作为合作协议上传至应用商店/微信小程序平台

    最后祝愿大家的应用能早日顺利上架,基于文心大模型,千帆大模型平台开发出属于自己的AI原生应用!


    收起阅读 »

    基于nodejs的微信支付

    这是一个基于nodejs的微信sdk文档,文档的内容人性化到令人发指!精细且全面,而也是微信官方php的SDK的作者编写的文档地址:https://wechatpay.js.org/ 可见作者多么的上心。文档里包含了微信支付的V2和V3版本里所有的方法和协议,...
    继续阅读 »

    这是一个基于nodejs的微信sdk文档,文档的内容人性化到令人发指!精细且全面,而也是微信官方php的SDK的作者编写的

    image.png


    文档地址:https://wechatpay.js.org/

    image.png

    可见作者多么的上心。

    文档里包含了微信支付的V2和V3版本里所有的方法和协议,以及加密交互相关的SDK解释。可以说是每一位想基于nodejs微信支付开发者必备的网站。


    收起阅读 »

    小程序提示:请求失败,请检查网络

    小程序操作的时候提示这个,原本以为是自己的网络不好,切来切去都不对,后来发现是因为没有在小程序里配置安全request域名。所以登录mp.weixin.qq.com后台后,选择开发管理配置下 服务器域名即可。还有要注意的是:域名要https的 否则也会提示请求...
    继续阅读 »

    image.png

    小程序操作的时候提示这个,原本以为是自己的网络不好,切来切去都不对,后来发现是因为没有在小程序里配置安全request域名。

    所以登录mp.weixin.qq.com后台后,选择开发管理配置下 服务器域名即可。

    image.png

    还有要注意的是:域名要https的 否则也会提示请求失败。

    收起阅读 »

    周处除三害里的大家一起唱的歌曲《新造的人》

    https://music.163.com/#/song?id=2092237105作词 : 郑宜农/李烈作曲 : 郑宜农曾经 我茫然前行黯夜的 路上微风 刺痛著灵魂找不到应该的方向生命这样的旅程要用多少泪水来完整是否我能期待遥远天际一起飞翔 新造的人生命这样...
    继续阅读 »

    image.png

    https://music.163.com/#/song?id=2092237105

    作词 : 郑宜农/李烈

    作曲 : 郑宜农

    曾经 我茫然前行

    黯夜的 路上

    微风 刺痛著灵魂

    找不到应该的方向

    生命这样的旅程

    要用多少泪水来完整

    是否我能期待遥远天际

    一起飞翔 新造的人

    生命这样的旅程

    我渴求你的微笑来完整

    你能为我打开自由的 门

    牵起手吧 新造的人

    你看 它白色的翅膀

    耀眼而无暇

    我们 平凡的灵魂

    紧紧跟随不需多想

    生命这样的旅程

    要用多少泪水来完整

    是否我能期待遥远天际

    一起飞翔 新造的人

    生命这样的旅程

    我渴求你的微笑来完整

    你能为我打开自由的 门

    牵起手吧 新造的人

    走向 那 道光

    把名字 遗忘

    他 将会永生

    在你我的心中

    啦啦 啦啦啦

    啦啦 啦啦啦

    他 将会永生

    在你我的心中


    收起阅读 »

    chatgpt plus无响应的解决方案

    今天很多人在chatgpt plus上提问毫无反应,包括我。作为自力更生的程序员,我还是找到了解决方案。只要清理掉 localStorage和sessionStorage 重新登录即可。具体的清理方式。在chatgpt的界面里,浏览器下按下F12打开开发者工具...
    继续阅读 »

    今天很多人在chatgpt plus上提问毫无反应,包括我。

    image.png

    image.png

    作为自力更生的程序员,我还是找到了解决方案。

    只要清理掉 localStorage和sessionStorage 重新登录即可。

    具体的清理方式。

    在chatgpt的界面里,浏览器下按下F12打开开发者工具

    image.png

    然后点击 Application 再右击左边的 LocalStorageSessionStorange 里的网址

    image.png

    选择 clear 后 重新登即可

    收起阅读 »
    <12345>>>