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

相关文章
|
1月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
17天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
30 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
4月前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
25天前
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
54 6
|
26天前
|
Java 测试技术 Maven
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
|
1月前
|
Java API Apache
|
1月前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
1月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
|
2月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
133 0
在Java中处理JSON数据:Jackson与Gson库比较
|
1月前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
61 0

推荐镜像

更多