У меня есть существующий java-динамический веб-проект, который я создал с помощью eclipse. Обычно я просто создаю файл войны через eclipse, а затем развертываю его в tomcat.Миграция из существующего динамического веб-проекта в gradle
Теперь я хочу использовать Gradle для создания моего проекта и создания военного файла. Есть ли плагин eclipse для этого? Если нет, то как я могу использовать gradle с моим существующим проектом? Моя существующая структура проекта - это то, что вы получаете при создании динамического веб-проекта через eclipse, и я не хочу его менять.
Я попытался пройти учебники и использовать преобразование в проект Gradle с помощью плагина gradle. Может ли кто-нибудь по крайней мере указать на блог или учебник или способ начать работу?
MyProject
|java resources
|--src
|-- -- packages
|-- -- .properties files
|--test
|-- -- packages
|build
|-- classes
|WebContent
|-- MetaINF
|-- WEB-INF
|-- -- lib // all my libraries are here. there is no specific repo for now
|-- -- web.xml
Мой build.gradle:
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '2.0'
war {
baseName = 'Gradle'
version = '1.2'
}
repositories {
mavenCentral()
}
repositories {
flatDir {
dirs 'lib'
}
}
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
compile files('./lib/myjar.jar')
compile 'commons-codec:commons-codec:1.5'
compile 'commons-lang:commons-lang:2.6'
compile 'org.hibernate:hibernate-entitymanager:4.3.8.Final'
compile 'org.apache.axis2:axis2-kernel:1.6.2'
compile 'org.apache.axis2:axis2-adb:1.6.2'
compile 'com.sun.jersey:jersey-server:1.19'
compile 'com.sun.jersey:jersey-client:1.19'
compile 'log4j:log4j:1.2.17'
compile 'org.apache.axis2:axis2-transport-local:1.6.2'
compile 'org.apache.axis2:axis2-transport-http:1.6.2'
providedCompile 'javax.servlet:servlet-api:2.3'
testCompile 'junit:junit:4.9'
testCompile 'org.jmock:jmock:2.6.0'
testCompile 'org.jmock:jmock-junit4:2.6.0'
testCompile 'org.jmock:jmock-legacy:2.6.0'
}
test {
systemProperties 'property': 'value'
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Gradle</display-name>
<servlet>
<servlet-name>HTTP REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
//in the above line It is showing a warning: servlet-class references to non-existent class "com.sun.jersey.spi.container.servlet.ServletContainer"
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.gradle</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HTTP REST Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Моя структура проектируемый
Можете ли вы описать компоновку исходных файлов более подробно? – dnault
В частности, где живет ваш статический веб-контент? Где исходный код Java? Ресурсы, такие как файлы * .properties, хранятся в отдельном каталоге или в том же каталоге, что и источник Java? Где файл web.xml? Зависит ли ваш проект от других JAR, и если они доступны в репозитории артефактов или они доступны только в локальной файловой системе? – dnault
проверьте пожалуйста. Я обновил свой вопрос с помощью структуры dir, а также мой проект зависит от другого проекта, а jar также находится в папке lib. – Jenny