一、序言
有些情况下,我们需要将公共的工程,或者公共的接口打成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 文件配置
4.0.0
com.demo
demo-interface
1.0
jar
UTF-8
nexus-releases
Nexus Release Repository
E:\maven-refrence
nexus-snapshots
Nexus Snapshot Repository
E:\maven-refrence
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 里面引用
com.demo
demo-interface
1.0
8.写个mian 函数调用
public static void main(String[] args) {
System.out.println(HelloUtil.add(1,2));
}
注意,在执行过程中可能出现一些配置上的异常,也可能是跟新不及时等,多看看异常原因,或者删除从新来,搞搞总会好的~。~。
小结:
1.上面是很基础的步骤,但是对于没使用过maven 的人来说,还是需要个参照物~。~
2.关于打成jar 这种模式,不光是多处使用,还有个原因是因为项目复杂了,需要统一的配置管理,而且项目之间需要依赖,因此提炼公共部分,或者封装一部分实现,上面你只能调用,是看不到我的实现的,如果我不上传实现。同理在SOA 服务里面,这种操作很多。