2015-04-04 4 views
1

Я учусь весне и использую Весенние рецепты 3-го издания от Мартина Дейна. Я просто добрался до главы 4, посвященной весеннему mvc. Примеры отличные, за исключением этой главы, они не говорят вам, как развернуть импортированный проект mvc springle spring в контейнер tomcat. Любая идея о том, как я должен это делать? Обычно при развертывании веб-проекта EE Java Dynamic вы можете определить целевую среду выполнения - в моем случае это будет tomcat v7.0. Я импортирую проект и по какой-то причине не могу описать цель. Есть идеи?eclipse gradle spring mvc tomcat build

С наилучшими пожеланиями, Стив Мэнсфилд

+0

Вы пытались «./gradlew clean war»? Развертываемый файл войны должен находиться в каталоге 'build/libs'. – fateddy

+0

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

ответ

2

Вау ... Я искал недели, пока не наткнулся на это видео. Получение Spring-gradle для развертывания в tomcat с использованием Eclipse просто ... Как только вы знаете, как это сделать. Посмотрите это видео, и оно будет проходить шаг за шагом.

https://www.youtube.com/watch?v=6LO40oH5abg

Спасибо за всякие помочь

0

Вы можете установить целевой среды выполнения вручную в Eclipse, щелкнув правой кнопкой мыши на проекте -> Свойства -> Адресные Runtimes -> выберите время выполнения. В вашем случае tomcat v7.0.

Мне не удалось найти элегантный способ сделать это в градле. То, как я это делал, состояло в том, чтобы файл сборки града добавить его в настройки eclipse, добавив следующее в ваш файл build.gradle. Вы также должны быть с помощи затмения-WTP плагина:

apply plugin: 'eclipse-wtp'  

eclipse.classpath.file { 
     withXml { xml -> 
      def node = xml.asNode() 
      node.appendNode('classpathentry', [ kind: 'con', path: 'org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.0']) 
      node.appendNode('classpathentry', [kind: 'con', path: 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/Jdk8']) 
     } 
    } 

где «Apache Tomcat v8.0» является целевой средой выполнения и Jdk8 является установленной JRE в Eclipse, что проект использует.

Это добавит запись для контейнера в ваши файлы проекта .classpath.

+0

Я новичок в градиенте. Как внести изменения, предложенные выше? – skmansfield

+0

Вы можете добавить блок кода выше в любом месте вашего файла build.gradle. – dMcNavish

0

Я также искал эту тему в течение нескольких дней. На самом деле я думаю, что лучший способ решить эту проблему может быть: используйте плагин gradle gretty в качестве контейнера для хранения вашего проекта. Вы можете просто добавить настроить, как показано ниже:

apply plugin: 'org.akhikhl.gretty' 
//Gretty 
buildscript { 
    repositories { 
    jcenter() 
    } 

    dependencies { 
    classpath 'org.akhikhl.gretty:gretty:+' 
    } 
} 

gretty { 
    httpPort = 8080 
    contextPath = '****' 
    servletContainer = 'jetty9' 
} 

Затем используйте задачу: jettyRun для запуска веб-службы. Он должен удовлетворять почти всем вашим требованиям, за исключением того, что у вас есть специальное требование (например, одновременно проводить несколько проектов ...).

Дополнительная информация: Вы можете установить плагин gradle в Eclipse и импортировать проект градиента, а затем запустить задачу в eclipse для запуска службы и отладки.

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