2015-04-04 72 views
1

我正在學習Spring並使用Marten Deinum的Spring Recipes第3版。我剛到第四章,重點關注春天MVC。這些例子很好,除了本章中他們沒有告訴你如何將一個導入的gradle spring mvc項目部署到一個tomcat容器中。任何想法我應該怎麼做?正常情況下,當部署一個EE Java動態web項目時,你可以定義運行時目標 - 在我的情況下,這將是tomcat v7.0。我正在導入該項目,並且出於某種原因無法描述目標。有任何想法嗎?eclipse gradle spring mvc tomcat build

最好的問候, 史蒂夫菲爾德

+0

你試過'./gradlew clean war'嗎?可部署的war文件應該位於'build/libs'目錄中。 – fateddy 2015-04-04 20:01:17

+0

我當然可以將war文件部署到tomcat。我想知道如果eclipse有一個內置的自動加載tomcat和部署應用程序的方式。通常我會創建一個動態Web項目並將tomcat定義爲運行時目標,並且所有內容都會自動部署。我擁有的例子是gradle build。有沒有類似的方式來使用這些gradle build來部署應用程序,還是我必須提取war文件並按照建議部署到tomcat中? – skmansfield 2015-04-05 15:47:00

回答

2

哇...我找了幾個星期,直到我偶然看到這個視頻。使用Eclipse獲取spring-gradle部署到tomcat是很容易的......一旦你知道如何。看看這個視頻,它需要你一步一步。

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

感謝大家的幫助

0

您可以手動通過右擊該項目設定的目標運行時在Eclipse - >屬性 - >目標運行時 - >選擇的運行時間。在你的情況下,tomcat v7.0。

我無法找到一個優雅的方式來做到這一點在gradle中。我做的方式是通過將以下內容添加到build.gradle文件中,將gradle build文件添加到eclipse設置中。您將還需要使用Eclipse,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是在Eclipse中安裝JRE,該項目使用。

這將爲您的項目.classpath文件添加一個容器條目。

+0

我是新來的gradle。我如何進行上面提出的更改? – skmansfield 2015-04-05 18:30:22

+0

您可以在build.gradle文件的任何位置添加代碼塊。 – dMcNavish 2015-04-06 02:28:32

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啓動Web服務。它應該滿足幾乎所有的要求,除了你有一些特殊的要求(例如同時持有多個項目...)。

更多信息: 您可以在Eclipse中安裝gradle插件並導入您的gradle項目,然後在eclipse中運行任務以啓動服務和調試。