Maven 打jar ,instanll 博客分类: maven mavenjarinstallmaven 打成jar.
程序员文章站
2024-03-19 10:29:40
...
一、序言
有些情况下,我们需要将公共的工程,或者公共的接口打成jar,然后上传到公共仓库,让其他工程共用,这里我模拟dubbo 的,写一个简单接口工程,然后打成jar,让其他工程使用。
二、实践
1.用idea 建立一个maven 工程,目录结构src->main->java
2.在Java 下面建立一个接口 和一个静态类,并且作为java source ,表示我要让其他人调用
public interface HelloService { public void sayHello(String name); }
public class HelloUtil { public static Integer add(int a,int b){ return a+b; } }
4.pom.xml 文件配置
<modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>demo-interface</artifactId> <version>1.0</version> <packaging>jar</packaging> <!-- 编码 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <distributionManagement> <!-- 这是正式版 --> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>E:\maven-refrence</url> </repository> <!-- 测试版 --> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>E:\maven-refrence</url> </snapshotRepository> </distributionManagement>
5.可以直接利用idea 的maven:jar 执行
6.同时通过install 到仓库,我是测试因此放到本地仓库的。
mvn install:install-file -Dfile=E:\projects\demo-interface\target\demo-interface-1.0.jar -DgroupId=com.demo -DartifactId=demo-interface -Dversion=1.0 -Dpackaging=jar
7.创建另外的工程demo2,然后在pom.xml 里面引用
<dependency> <groupId>com.demo</groupId> <artifactId>demo-interface</artifactId> <version>1.0</version> </dependency>
8.写个mian 函数调用
public static void main(String[] args) { System.out.println(HelloUtil.add(1,2)); }
注意,在执行过程中可能出现一些配置上的异常,也可能是跟新不及时等,多看看异常原因,或者删除从新来,搞搞总会好的~。~。
小结:
1.上面是很基础的步骤,但是对于没使用过maven 的人来说,还是需要个参照物~。~
2.关于打成jar 这种模式,不光是多处使用,还有个原因是因为项目复杂了,需要统一的配置管理,而且项目之间需要依赖,因此提炼公共部分,或者封装一部分实现,上面你只能调用,是看不到我的实现的,如果我不上传实现。同理在SOA 服务里面,这种操作很多。