如果我们有一些类和方法是公用的,可以打开公用包,而这时使用默认的build方式都所有依赖都打进去,而且你当然项目的文件虽然在包里,但却在boot-inc里,这里的文件不能被其它包识别,只是一大堆class文件,然后下面的方法,我们会生成一个后缀stubs的文件,它只有你需要的几个对象,没有多余的依赖项。
打开build.gradle文件,添加以下内容即可
//打包源代码 task stubsJar(type: Jar, dependsOn: classes) { println '打包源代码' classifier = "stubs" into('/') { from("${project.rootDir}/src/main/java/") include('lind/core/**') //这个包下面的所有文件都要被其它包依赖 //exclude '**/CoreApplication.java' } } artifacts { archives stubsJar } //直接调用install把它发到本地~/.m2/repository仓库里 install { println "发布到本地仓库" dependsOn << stubsJar repositories.mavenInstaller { pom.version = "$project.version" pom.artifactId = "$artifactId" pom.groupId = "$project.group" } } repositories { mavenLocal() maven { name "aliyun1" url 'http://maven.aliyun.com/nexus/content/groups/public' } mavenCentral() } dependencies { compileClasspath('org.springframework.boot:spring-boot-starter-web') //不会被打包到jar里,这样包就不会那么大了 testCompileClasspath('org.springframework.boot:spring-boot-starter-test') }
然后在进行gradle build
之后,会在build/libs目前生成两个jar文件,其中我们要打到仓库的是带有stubs后缀的。
mvn install:install-file -Dfile=/Users/lind.zhang/github/core/build/libs/core-0.6-stubs.jar -DgroupId=lind -DartifactId=core -Dversion=0.6 -Dpackaging=jar
dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') compile("lind:core:0.6") }
感谢各位的阅读!
如对本文有疑问, 点击进行留言回复!!
android用Popup弹出窗(PopupWindow的使用方式)
ionic3 打包 Could not get resource ‘https://jcenter.bintray.com/com/google/zxing/core/3.2.1/core-3.2.1
NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser androi
网友评论