Gradle 编译前重命名包
Gradle rename package before compile
我有 eclipse java 项目。
Gradle 脚本:
apply plugin: 'java'
jar {
manifest {
attributes 'Title': 'xxx'
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'lib', include: '**/*.jar')
}
def myPackage = 'mypackage'
sourceSets {
main {
java.srcDirs = ['src']
}
}
项目文件结构
src
com.company.core
....classes
com.company.impl
....classes
jar文件中需要文件结构
com.company.core
...classes
com.mypackage.impl
...classes
需要重命名包
公司 -> jar 文件中的 mypackge
不是android。
请帮忙。
UPD
谢谢,兰斯 Java。
它为我工作。
但是有一个问题。来自 libs (google-play-services.jar, android.jar) 的所有 类 都进入 jar...我需要 类 仅位于 src 文件夹中...我可以排除所有包 类,但我认为这不是一个好的解决方案...
shadowJar 还有其他方法吗?
我的依赖项:
dependencies {
compile files('libs/android.jar')
compile files('libs/google-play-services.jar')
}
这可以通过 shadow 插件完成
我有 eclipse java 项目。 Gradle 脚本:
apply plugin: 'java'
jar {
manifest {
attributes 'Title': 'xxx'
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'lib', include: '**/*.jar')
}
def myPackage = 'mypackage'
sourceSets {
main {
java.srcDirs = ['src']
}
}
项目文件结构
src
com.company.core
....classes
com.company.impl
....classes
jar文件中需要文件结构
com.company.core
...classes
com.mypackage.impl
...classes
需要重命名包 公司 -> jar 文件中的 mypackge
不是android。
请帮忙。
UPD
谢谢,兰斯 Java。 它为我工作。
但是有一个问题。来自 libs (google-play-services.jar, android.jar) 的所有 类 都进入 jar...我需要 类 仅位于 src 文件夹中...我可以排除所有包 类,但我认为这不是一个好的解决方案...
shadowJar 还有其他方法吗?
我的依赖项:
dependencies {
compile files('libs/android.jar')
compile files('libs/google-play-services.jar')
}
这可以通过 shadow 插件完成