2013-03-01 2 views
3

У меня есть проект EAR, который должен содержать одну или несколько тощих WAR. Я уже пробовал все, чтобы получить этот проект, работающий с eclipse, но просто не мог заставить eclipse делать то же самое, что и инструменты (maven и gradle), когда я запускаю их из командной строки.Пример наложения наложения Maven/Gradle с eclipse

Нет рабочих примеров, которые я мог бы использовать, чтобы мои проекты работали с eclipse? Пожалуйста, помогите мне, я спрашиваю себя, действительно ли кто-то действительно использует эти инструменты, как я хочу, чтобы они были для таких проектов.

+0

Не могли бы вы пояснить, что не работает, давая то, что у вас есть? пытался? Что означает «содержать еще одну более тощую WARS»? Я думал, что WARs является артефактом сборки и создается (только) после использования вашего предпочтительного инструмента сборки. Когда Eclipse запускает проект EAR, он сначала создает EAR? Как ты это делаешь? – mliebelt

+0

Я прошу пример не решение проблем, которые у меня были. Я ищу пример проекта EAR, который содержит один или несколько проектов WAR. Библиотеки проектов WAR должны быть перенесены в EAR/libs => skinny WAR. Теперь я хочу рабочий пример проекта EAR Multimodule с тощими WAR для проекта maven или gradle, который также работает в eclipse. –

ответ

2

В моем последнем опыте проекта у меня проблема с поддержкой maven с Eclipse. Из-за проблемы в плагине Eclipse m2.

Итак, лучшим решением для меня было создание уха из командной строки с помощью некоторых сценариев оболочки. Чтобы открыть проект в среде IDE, я использовал maven eclipse plugin, таким образом, я создал рабочую область затмения maven.

С помощью Eclipse External Tools вы можете запускать сценарий оболочки для создания/запуска вашего приложения EE из командной строки довольно удобно.

То же самое относится к градиенту, но похоже, что плагин Eclipse Gradle более стабилен, и теперь я использую плагин в своем проекте Gradle.

Если вам не пригодится, вы можете рассмотреть github test project, чтобы проиллюстрировать, как сделать проект Maven multymodule war. Также вы можете найти краткое объяснение, как создать рабочее пространство eclipse для этого проекта. После создания рабочей области вы можете импортировать как существующий проект в свою рабочую область.

+0

Спасибо за подсказку, я уже так много пробовал и явно просил пример. Если вы предоставите мне проект примера maven/gradle, который показывает, как можно достичь тощих войн, чтобы и eclipse справлялся с этим, ваш ответ будет принят :) –

+0

У меня есть только военный пример, чтобы показать, как создать проект maven, и я добавил короткий объяснение, как экспортировать проект в eclipse. – Taky

+0

Проблемы возникают при наличии проекта EAR, который должен содержать все библиотеки проекта (ов) WAR, было бы круто, если бы вы могли получить эту работу в eclipse;) –

0

Вот пример Ear проект, содержащий войну (см IMG ниже структуры дир)

MainDir содержит 2 файла и 1 каталог с именем войны.

Файл settings.gradle содержит

include 'war' 

Файл build.gradle содержит

apply plugin: 'ear' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    deploy project(':war') 
    //earlib group: YOUR_DEPENDENCIES 
} 

build.gradle для войны каталог содержит

apply plugin: 'war' 
apply plugin: 'jetty' // you can call gradle jRW 

repositories { 
    mavenCentral() 
} 

dependencies { 
    //compile group: YOUR_DEPENDENCIES 
} 

httpPort = 8080 //jetty start port 
stopPort = 8081 //jetty stop port 

Файл HelloWorld.java содержит

public class HelloWorld { 
    public String getHello() { 
     return "Hello world!"; 
    } 
} 

Файл индекс.JSP содержит

<jsp:useBean id="helloWorld" class="your_package.HelloWorld"/> 
<html> 
<p>${helloWorld.hello}</p> 
</html> 

Теперь откройте Cmd-> MainDir (или вы можете искать затмение-рынок для Gradle и выполнить этот шаг непосредственно из затмения) и введите

gradle jRW//short for jettyRunWar 

теперь открыт

localhost:8080/war/ 

project structure

+0

Спасибо за ваш комментарий, но вопрос было о тощих войнах в ушах и таком проекте градимента, который работал с затмением. В комментариях есть ссылка на проект maven, который делает то, что я хочу, он даже работает с eclipse. Я просто хотел бы иметь версию градиента :( –

+0

Как насчет того, измените ли вы пример и в war-> build.gradle добавьте следующий 'war {classpath = []}', а затем запустите 'gradle ear'? – sol4me

+0

Может ли затмение обрабатывать это? Я уже пробовал разные подходы, но не уверен в этом, но я не думаю, что это сработает. Я попробую его и дам вам знать. Поскольку плагин eclipse для градации не может обрабатывать области зависимостей до тех пор, пока Я узнал, я также не думаю, что он будет создавать действительные файлы проектов с этой настройкой. –

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