有没有高手是用gradel打包jar包的呢
我build完之后可以运行,但出现在两个问题。
第一个就是resources目录下的配置文件给打包进jar包里了。
第二个是class文件给打包了双份,一份的路径是com.test.*,另一份是main.com.test.*
里面的class文件是一样的,这让我百思不得其解。我试过自己用脚本打包,却读取不到配置文件而运行不了。由于项目需要,配置文件是必须放在单独一个目录下的。请高手帮我看看。
附上jar包解压截图:
以下是gradle脚本
//依赖编译,然后打包JAR
task build_jar(type:Jar, dependsOn: [compileJava, processResources, classes]) {
manifest {
attributes 'Main-Class': 'com.mmo.TestPaoding'
FileTree tree = fileTree(dir: 'lib')
tree.include '**/*.jar'
def classPath = '';
tree.each {File file ->
classPath += 'libs/' + file.name + ' '
}
tree = fileTree(dir: '/src/main/resources')
tree.each {File file ->
classPath += 'resources/' + file.name + ' '
}
attributes 'Class-Path': classPath
}
from 'build/classes/main'
destinationDir = file('build/libs')
}
//清除上次的编译过的文件
task clean_dir(type:Delete){
delete 'build',release_dir
}
task copyResources(type: Copy) {
from('build/resources/main')
into release_resources_dir
}
task copyDepences(type: Copy) {
from configurations.runtime
into release_lib_dir
}
task release(type: Copy, dependsOn:[build_jar, copyResources, copyDepences]) {
from('build/libs') {
include '*.jar'
}
into release_dir
}