如何将非maven格式jar转成maven格式的jar?

目前java项目当中还是依然存在很多不是用maven去管理的项目,但是我们又有很多maven去管理的项目需要引用不是maven管理的项目,怎么办?当然是将不是maven项目管理的jar包转换成maven管理格式的jar包啦。

Install到本地repo命令

mvn install:install-file 
-DgroupId=com.microsoft.sqlserver 
-DartifactId=sqljdbc 
-Dversion=4.0.2206 
-Dpackaging=jar 
-Dfile=d:\sqljdbc-4.0.2206.jar

deploy到nexus repo命令

mvn deploy:deploy-file 
-DgroupId=com.microsoft.sqlserver 
-DartifactId=sqljdbc 
-Dversion=4.0.2206 
-Dpackaging=jar 
-Dfile=d:\sqljdbc-4.0.2206.jar 
-DrepositoryId=your-nexus-releases-repo 
-Durl=http://yourcorp.com:8081/nexus/content/repositories/yourreleaserepo

SSL证书生成,及在SpringBoot中应用,兼容http和https

证书生成

1、生成密钥库(自签名的证书和私钥)

keytool -genkey -alias mykey -keyalg RSA -keystore keystore.jks
CN=127.0.0.1, OU=PP, O=IT, L=GZ, ST=GD, C=CN  

2、查看密钥库

keytool -list -v -keystore keystore.jks

3、导出密钥库公钥、信息等到证书中

keytool -export -alias mykey -keystore keystore.jks -storepass 123456 -file scert.cer

阅读全文

对于编程的爱好者来说,都希望凭自己的经验写一些东西分享给业内别的爱好者和记录一些自己的经验,以防日后忘记,也有历史跟踪。GitBook是一个结合GitHub和Markdown来制作精美在线读物的工具。你可以自己或和任何人合作,编著一本在线书籍,还能够销售,当作家不再只是梦。

阅读全文

Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

大体意思是说:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的日志系统,
它有一个简单灵活的架构,这一个架构基于一个数据流。它有可协调的信度机制和故障切换及恢复机制,因而稳健并且可以兼容错误。Flume使用一个简单可扩展的数据模型,这个数据模型允许在线分析的应用。

阅读全文

策略模式 ,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if…else…或者case等条件判断语句来进行选择。这两种实现方法我们都可以称之为硬编码,如果需要增加一种新的查找算法,需要修改封装算法类的源代码;更换查找算法,也需要修改客户端调用代码。在这个算法类中封装了大量查找算法,该类代码将较复杂,维护较为困难。如果我们将这些策略包含在客户端,这种做法更不可取,将导致客户端程序庞大而且难以维护,如果存在大量可供选择的算法时问题将变得更加严重。—抄自百度

测试 AppMain

public static void main(String[] args) {
    CashContext cashContext = new CashContext();
    Class<?> cashRebateClass = null;
    String className = "com.sample.demo.designmodule.strategy.shop.CashRebate";

    try{
        /**
         *
         */
        cashRebateClass = Class.forName(className);
    }catch (Exception e){
        e.printStackTrace();
    }

阅读全文

简单工厂模式, 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。

下面以一个计算器的实现举例,简单工厂模式的场景描述:

+-*/ 等运算不希望混合在一起,因为以后需要扩展的时候,比如说增加一个平方的运算,不希望在同一个方法里面或者同一个类里面去修改,因为这样子的危险性太高了,如果因为增加一个平方的运算,从而影响之前的运算,那肯定不是我们所希望的,所以有简单工厂模式的出现,下面主要是以贴代码为主:

测试AppMain

public static void main(String[] args) throws Exception {
    Operation operation = OperationFactory.createOperate("-");
    operation.setNumberA(3);
    operation.setNumberB(2);
    double result = operation.getResult();
    System.out.println(result);
}

阅读全文

一、关于版本控制(GIT/SVN)

两者都是优秀的版本管理工具

  • Git

    git是分布式:服务器和每个开发人员都拥有一个本地的代码管理仓库,进行本地的代码管理;

  • Svn

    svn集中式:只有在服务器上有一个代码管理仓库;

二、Git使用

概述

使用git进行项目管理和开发,一般情况下,会在服务端(origin)创建一个仓库进行代码的管理,仓库会维护三大块分支。

阅读全文

Spring Boot封装好的自动配置很简单,在用得很轻松的同时,有没有想过,我们自己的项目中也根据自己的需求写一个具备Spring Boot自动配置功能的冲动呢?首先,来说说Http编码配置的例子,然后参考这个例子,我们自己来实现一个自动配置的功能。

Http编码配置

  • 添加配置,即在 application.properties 上添加:

    #HTTP encoding (HttpEncodingProperties)
    spring.http.encoding.charset=UTF-8  # the encoding of HTTP request/response
    spring.http.encoding.enabled=true #enabled http encoding support
    spring.http.encoding.force=true #force the configured encoding
    

阅读全文