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

相关文章
|
3月前
|
XML Java 项目管理
java maven 和gradle哪种好
java maven 和gradle哪种好
81 0
|
Java Maven
IDEA + maven 零基础构建 java agent 项目
Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说,这个东西还是比较神奇和陌生的;虽说在实际的业务开发中,很少会涉及到 agent 开发,但是每个 java 开发都用过,比如使用 idea 写了个 HelloWorld.java,并运行一下, 仔细看控制台输出
755 0
IDEA + maven 零基础构建 java agent 项目
|
28天前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
20 0
|
8月前
|
存储 druid IDE
[Java Web]Maven:一个管理和构建Java项目的工具(一)
[Java Web]Maven:一个管理和构建Java项目的工具
|
8月前
|
XML 存储 Java
[Java Web]Maven:一个管理和构建Java项目的工具(二)
[Java Web]Maven:一个管理和构建Java项目的工具(二)
|
10月前
|
Java 应用服务中间件 Maven
【Java Web编程 二】第一个Java Web项目(Idea2021+Maven3+Tomcat8+JDK8)
【Java Web编程 二】第一个Java Web项目(Idea2021+Maven3+Tomcat8+JDK8)
105 0
|
11月前
java202303java学习笔记第四十五天javaweb-IDEA集成maven1
java202303java学习笔记第四十五天javaweb-IDEA集成maven1
23 0
|
11月前
|
Java 编译器 应用服务中间件
Maven-EclipseEE使用Maven构建Java web项目从0到1
Maven-EclipseEE使用Maven构建Java web项目从0到1
90 0
|
分布式计算 Java Scala
maven环境下java和scala混合开发如何打依赖包?
在实际的项目开发中,很多时候我们可能会用java和scala混合开发,比如Flink或者Spark的项目,他们两个可以相互调用,也有各自的优缺点,结合起来使用非常的方便,但是在编译打包的时候很多朋友遇到要么Java的包没打进去,或者Scala的包没打进去,运行的时候报各种找不到jar包的错,下面介绍一种打包的方法,可以运行项目里面的任何一个方法,供大家参考,当然还有很多其他的打包方式. 直接看下面的maven里面的配置 <build>
|
Java Maven
Java:以静态文件发布Maven开源库
Java:以静态文件发布Maven开源库
116 0