2016-11-25 10 views
2

Каков правильный способ импорта SWT в Gradle в проекте Java Eclipse?Импорт SWT путь Gradle в Eclipse

следующее решение по Stackoverflow не работает (он импортирует маленькую библиотеку SWT, не содержащие классов, я не могу использовать любую функциональность SWT):

Import SWT as a Gradle dependency

Моего приложению должно использовать SWT UI классы и виджеты (например, Display, Shell, Composites и т. Д.) И должны быть абсолютно кросс-платформенными.

Обратите внимание, что мое приложение использует LWJGL, который я могу импортировать успешно используя страницу, ниже которой не предусматривает полный код Gradle использования (нажмите построить под Release затем выберите Gradle):

LWJGL build.gradle import code

Спасибо для вашей помощи.

+0

Можете ли вы предоставить соответствующие части файла сборки Gradle? –

+0

Мой файл build.gradle следующий (это то, что вы получаете при создании нового простого проекта Gradle в Eclipse): http://pastebin.com/w6fESNip. Что я должен объявить, чтобы правильно импортировать SWT и сделать все кросс-платформу? –

ответ

0

Я не совсем уверен в различиях между плагином eclipse и SWT-приложением, но вы можете использовать buildship build в качестве ссылки. Утилиты buildSrc могут быть полезны.

+0

Спасибо. К сожалению, в этом файле build.gradle есть огромное количество вещей. Я не использую проект Plug-in, просто простой проект Java Gradle. Не могли бы вы помочь мне изолировать строки, относящиеся к SWT, и объединить эти строки в вышеописанный код (см. Ссылку pastebin)? –

+0

«Не могли бы вы помочь мне изолировать линии, которые имеют отношение к SWT, и объединить эти строки в вышеописанный код». Спасибо –

0

** Отказ ** Я никогда не использовал SWT перед тем

Я бы поставил SWT банки в структуре каталогов Maven типа (обратите внимание, я выбрал случайную группу/артефакт/версия здесь ... пожалуйста, настроить соответствующим образом)

myRepo/com/eclipse/swt/swt-core/4.1/swt-core-4.1-windows.jar 
myRepo/com/eclipse/swt/swt-core/4.1/swt-core-4.1-linux.jar 
myRepo/com/eclipse/swt/swt-utils/4.1/swt-utils-4.1-windows.jar 
myRepo/com/eclipse/swt/swt-utils/4.1/swt-utils-4.1-linux.jar 

вы могли бы сделать что-то подобное в build.gradle

org.gradle.nativeplatform.platform.OperatingSystem os = org.gradle.internal.os.OperatingSystem.current() 
def osDeps = [] 
if (os.windows) { 
    osDeps = ['com.eclipse.swt:swt-core:4.1:windows', 'com.eclipse.swt:swt-utils:4.1:windows'] 
} else if (os.linux) { 
    osDeps = ['com.eclipse.swt:swt-core:4.1:linux', 'com.eclipse.swt:swt-utils:4.1:linux'] 
} else ... { 
} 

apply plugin: 'java' 
repositories { 
    maven { 
     url file('myRepo') 
    } 
} 
dependencies { 
    compile 'com.foo:common-stuff:1.0' 
    compile osDeps 
} 

Или если SWT банки доступны в репозитории Maven, вы должны использовать тыс вместо локальной папки.

+0

Это не работает. Одним из решений такого рода является тот, который указан в этом файле: https://github.com/breskeby/gradle-eclipse-plugin/blob/master/plugins/org.gradle.eclipse/org.gradle.eclipse.gradle Я также использую core.commands, и «compile» org.eclipse: core.commands: 3. + '«не работает, хотя работает« core: commands ». Я думаю, это потому, что мы используем разные репозитории. Какой беспорядок. –

+0

«Это не работает», это очень неприятная обратная связь –

 Смежные вопросы

  • Нет связанных вопросов^_^