Java:以静态文件发布Maven开源库

简介: Java:以静态文件发布Maven开源库

发布开源库到Github

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mouday</groupId>
    <artifactId>hello-package</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!-- 发布的软件包的位置 -->
    <distributionManagement>
        <repository>
            <id>local-repo-release</id>
            <name>GitHub Release</name>
            <url>file://${project.basedir}/maven-repo</url>
        </repository>
    </distributionManagement>
    <build>
        <plugins>
            <!--创建源码-->
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--创建javadoc-->
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

构建功能

package com.mouday;
public class Hello {
    public void sayHello(){
        System.out.println("Hello");
    }
}

生成部署文件

mvn clean package deploy

生成如下文件

$ tree
.
├── README.md
├── hello-package.iml
├── maven-repo
│   └── com
│       └── mouday
│           └── hello-package
│               ├── 1.0-SNAPSHOT
│               │   ├── hello-package-1.0-20200731.025404-1-javadoc.jar
│               │   ├── hello-package-1.0-20200731.025404-1-javadoc.jar.md5
│               │   ├── hello-package-1.0-20200731.025404-1-javadoc.jar.sha1
│               │   ├── hello-package-1.0-20200731.025404-1-sources.jar
│               │   ├── hello-package-1.0-20200731.025404-1-sources.jar.md5
│               │   ├── hello-package-1.0-20200731.025404-1-sources.jar.sha1
│               │   ├── hello-package-1.0-20200731.025404-1.jar
│               │   ├── hello-package-1.0-20200731.025404-1.jar.md5
│               │   ├── hello-package-1.0-20200731.025404-1.jar.sha1
│               │   ├── hello-package-1.0-20200731.025404-1.pom
│               │   ├── hello-package-1.0-20200731.025404-1.pom.md5
│               │   ├── hello-package-1.0-20200731.025404-1.pom.sha1
│               │   ├── maven-metadata.xml
│               │   ├── maven-metadata.xml.md5
│               │   └── maven-metadata.xml.sha1
│               ├── maven-metadata.xml
│               ├── maven-metadata.xml.md5
│               └── maven-metadata.xml.sha1
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── mouday
    │   │           └── Hello.java
    │   └── resources
    └── test
        └── java

将代码推送到 Github,并开启Pages服务

仓库地址:https://github.com/mouday/hello-package

使用开源库

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mouday</groupId>
    <artifactId>import-hello-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <repositories>
        <!--声明发布的Maven的repo地址-->
        <repository>
            <id>github-rich-repo</id>
            <name>The Maven Repository on Github</name>
            <url>https://www.pengshiyu.com/hello-package/maven-repo/</url>
        </repository>
    </repositories>
    <dependencies>
        <!--引入依赖-->
        <dependency>
            <groupId>com.mouday</groupId>
            <artifactId>hello-package</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

使用测试

package com.mouday;
public class demo {
    public static void main(String[] args) {
        Hello hello =new Hello();
        hello.sayHello();
    }
}

参考

https://www.liaoxuefeng.com/wiki/1252599548343744/1347981037010977

相关文章
|
XML Java API
SpringBoot 整合 Minio
本文介绍了如何在服务器上安装并配置Minio服务,包括Minio的依赖、配置类以及基本操作。首先,通过Maven添加Minio依赖;接着,在`yml`文件中配置Minio的连接信息;然后,创建`MinIoClientConfig`类将MinioClient注入到Spring容器中;最后,定义`OSSFileService`接口及其实现类`OssFileServiceImpl`,实现文件上传、获取文件URL、临时访问URL和删除文件等操作。
379 2
|
8月前
|
Java Spring 容器
两种Spring Boot 项目启动自动执行方法的实现方式
在Spring Boot项目启动后执行特定代码的实际应用场景中,可通过实现`ApplicationRunner`或`CommandLineRunner`接口完成初始化操作,如系统常量或配置加载。两者均支持通过`@Order`注解控制执行顺序,值越小优先级越高。区别在于参数接收方式:`CommandLineRunner`使用字符串数组,而`ApplicationRunner`采用`ApplicationArguments`对象。注意,`@Order`仅影响Bean执行顺序,不影响加载顺序。
639 2
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】
1629 6
|
Java API
【Java】已解决java.lang.NoSuchMethodException异常
【Java】已解决java.lang.NoSuchMethodException异常
1951 0
|
JSON 前端开发 Java
如何解决Spring Boot中的中文乱码问题?
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 被认为是 Spring MVC 的“接班人”,它可以帮我们自动配置,如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用自己的配置。
2518 0
|
关系型数据库 MySQL Linux
Centos7下使用RPM包安装MySQL8
Centos7下使用RPM包安装MySQL8
1499 0
|
NoSQL Java MongoDB
Java:SpringBoot项目中MongoTemplate的新增、删除、更新、查询操作
Java:SpringBoot项目中MongoTemplate的新增、删除、更新、查询操作
919 0
|
SQL Oracle 关系型数据库
Mysql中的递归层次查询(父子查询)
Mysql中的递归层次查询(父子查询)
665 0
|
Java Maven
Java:以静态文件发布Maven开源库
Java:以静态文件发布Maven开源库
204 0
|
域名解析 网络协议 Linux