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

相关文章
|
7月前
|
XML Java 项目管理
java maven 和gradle哪种好
java maven 和gradle哪种好
206 0
|
4月前
|
Java
Java系列之 解决 项目 jar 包无法上传到Github
该博客文章介绍了解决Java项目中jar包无法上传到Github的问题,通过修改`.gitignore`文件来包含jar包,从而成功添加到上传目录。
Java系列之 解决 项目 jar 包无法上传到Github
|
6月前
|
Java Maven 开发者
java一分钟之-Maven Archetypes:项目模板
【6月更文挑战第6天】Maven Archetypes是Java开发中用于快速创建项目模板的工具,简化项目初始化。它们定义了项目结构、必备文件和默认配置。使用Archetypes能实现快速启动、保持项目一致性并易于扩展。常见问题包括查找和使用Archetype、理解项目结构及pom.xml配置。通过命令行工具`mvn archetype:generate`可生成项目,例如使用`maven-archetype-quickstart`创建简单Java应用。熟悉Archetypes能提升开发效率,但也需根据实际需求调整生成的配置。
528 5
|
6月前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 `maven-archetype-quickstart` 插件在 C:\MVN 下创建 Java 应用项目。命令行参数包括 `-DgroupId`, `-DartifactId`, `-DarchetypeArtifactId` 和 `-DinteractiveMode=false`。生成的项目包含 src 文件夹、pom.xml 及对应的 Java 源码和测试文件。App.java 是主类,AppTest.java 为测试类。按照预设结构组织代码,Maven 将自动管理构建过程。
|
6月前
|
数据可视化 Java 持续交付
JavaWeb后端开发之Maven 2024介绍安装测试详解
JavaWeb后端开发之Maven 2024介绍安装测试详解
82 0
|
7月前
|
Java 测试技术 项目管理
Java基础教程(22)-构建工具Maven的基本使用
【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。
|
7月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
71 0
|
分布式计算 Java Scala
maven环境下java和scala混合开发如何打依赖包?
在实际的项目开发中,很多时候我们可能会用java和scala混合开发,比如Flink或者Spark的项目,他们两个可以相互调用,也有各自的优缺点,结合起来使用非常的方便,但是在编译打包的时候很多朋友遇到要么Java的包没打进去,或者Scala的包没打进去,运行的时候报各种找不到jar包的错,下面介绍一种打包的方法,可以运行项目里面的任何一个方法,供大家参考,当然还有很多其他的打包方式. 直接看下面的maven里面的配置 <build>
|
Java Maven
Java——maven多模块项目打jar包如何把依赖包也打包进去
Java——maven多模块项目打jar包如何把依赖包也打包进去
|
XML 存储 Java
[Java Web]Maven:一个管理和构建Java项目的工具(二)
[Java Web]Maven:一个管理和构建Java项目的工具(二)