У меня есть пользовательская перспектива, определенная в проекте плагина eclipse. Щелкните правой кнопкой мыши по проекту и экспортируйте как Deployable Plugins и фрагменты, чтобы создать файл jar размером 5774 КБ. Используя этот jar в моем приложении RCP Eclipse, я могу видеть пользовательскую перспективу.
Я преобразовал проект eclipse в сборку gradle. Ниже приведен файл build.gradle:
apply plugin: 'java'
apply plugin: 'eclipse'
archivesBaseName = 'com.hm.teamcenter.rac'
version = '1.0.0'
def repositoryPath = 'C:/dependent-jars/'
repositories {
flatDir {
dirs repositoryPath
dirs 'libs'
}
}
jar {
baseName = 'com.hm.teamcenter.rac'
from('src/main/java') {
include 'META-INF/**/MANIFEST.MF'
include 'plugin.xml'
include 'com/**/*.properties'
include 'com/**/*.png'
}
manifest {
attributes 'Main-Class': 'com.hm.teamcenter.rac.Activator'
attributes 'Bundle-ManifestVersion': '2'
attributes 'Bundle-Name': 'RAC Plugin'
attributes 'Bundle-SymbolicName': 'com.hm.teamcenter.rac;singleton:=true'
attributes 'Bundle-Version': '1.0.0'
attributes 'Bundle-Activator': 'com.hm.teamcenter.rac.Activator'
attributes 'Bundle-Vendor': 'HM'
attributes 'Require-Bundle': 'org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.ui.forms;bundle-version="3.5.200",...'
attributes 'Bundle-RequiredExecutionEnvironment': 'JavaSE-1.7'
attributes 'Bundle-ActivationPolicy': 'lazy'
attributes 'Export-Package': 'com.hm.teamcenter.rac,com.hm.teamcenter.rac.perspective,...'
attributes 'Bundle-ClassPath': 'com.hm.teamcenter.rac,com.hm.teamcenter.rac.perspective,...'
attributes 'Import-Package': 'list of packages to import'
}
}
dependencies {
compile fileTree(dir: repositoryPath, include: ['*.jar'])
compile fileTree(dir: 'libs/', include: ['*.jar'])
}
Теперь, когда я запускаю сборку или сборку задачи gradle, она создает файл jar размером 5772 КБ, что на 2 КБ меньше, чем размер, когда выполняется экспорт вручную. Я не знаю, имеет ли это какое-либо значение. Я извлек обе банки, используя 7zip, и сравнил содержимое, используя winmerge. Оба имеют одинаковые файлы, и только файлы классов показывают различия, что очевидно, поскольку они созданы.
Если я использую этот jar, созданный gradle, в моем приложении RCP я не вижу свою пользовательскую перспективу / вид. и в консоли не выдается никаких ошибок.
Что здесь не так? Пожалуйста помоги.