Maven'i GWT 2.7.0 ile kullanmaya çalışıyorum. Kimsenin küçük bir pom.xml şablonu var mı? https://github.com/ArcBees/arcbees-website/blob/master/pom.xml Alındığı ...Herhangi bir örnek GWT 2.7.0 pom var mı?
cevap
geçerli:
sunucuya konuşlanmış asla asgari seviyede- GWT bağımlılıkları (gwt kullanıcılı; GWT-RPC veya diğer sunucu tarafı desteği, zaten gwt kullanıcı dahil sınıflar için gwt-sunucu uygulaması; gwt -dev ve gwt-codeserver önerilir, kullanacağınız eklentiye bağlıdır, asla bunları dağıtmayın)
- gwt-maven-plugin; Bunlardan iki tane vardır:
org.codehaus.mojo:gwt-maven-plugin
(kimin versiyonu GWT kullandığınız sürümü aynı olmalıdır) venet.ltgt.gwt.maven:gwt-maven-plugin
(hala beta; GWT herhangi bir sürümü ile çalışır) eklentiye bağlı
, kullanacağınız farklı paketleme ve eklenti yapılandırması.
Son olarak, en önemlisi, istemci ve sunucu tarafı kodu için ayrı Maven modüllerini kullanmanız ve muhtemelen paylaşılan kod için üçüncü bir modül kullanmanız gerekir. Ancak, küçük bir proje için, tek bir modül kullanmak yeterli olabilir (ancak istemci tarafındaki sınıflarınızı sunucunuza dağıtmak istemiyorsanız, POM'unuza bazı konfigürasyon/korsanlık eklemeniz gerekecektir). CodeHaus Mojo eklenti ile, tek modül projesi (karma bir istemci ve aynı projede sunucu tarafı kodu) için, bize verdiği
:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>2.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.7.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<module>com.example.test.Test</module>
</configuration>
</plugin>
</plugins>
</build>
</project>
Ve (DEVMODE çalıştırmak için mvn gwt:run
kullanan Sunucu tarafı kodunuzu da bazı sınırlamalarla çalıştıracaktır).
Ya net.ltgt eklenti
:<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>gwt-app</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>2.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<extensions>true</extensions>
<configuration>
<moduleName>com.example.test.Test</moduleName>
<launcherDir>${project.build.directory}/${project.build.finalName}</launcherDir>
</configuration>
</plugin>
</plugins>
</build>
</project>
Ve SuperDevMode (istemci tarafında kod için) çalıştırmak için mvn gwt:codeserver
kullanın. Sunucu tarafı kodunuzu çalıştırmak için jetty-maven-plugin veya tomcat7-maven-plugin kullanmanız gerekecek. Bir çok modül proje için
, benim archetypes bakabilirsiniz: https://github.com/tbroyer/gwt-maven-archetypes Ben net.ltgt eklenti onları geçmenin,
mvn install
onları (gerek kaçıyorum nasıl basitleştirilmesi sürecinde kulüpler artık;
mvn gwt:codeserver
çok modülü projelerinde, aksine
gwt:run-codeserver
CodeHaus Mojo'nın
gwt:run
ve)
Yasal Uyarı için dizayn edilmiştir: Her iki eklentileri için sürdürücü değilim, ama IMO çok düzeltir kendi eklentisi, iyilik ediyorum Quirks ve CodeHaus Mojo bir miras ve mirası. Başka Maven'in arketip bir şablon/saplama projesi oluşturmak için gibi
kullanın Archetype kullanarak
: Özellikle temiz bakıyorum
// install çalışan (bir önceki projede çalıştırmak ben gwt kullanılan): Eğer POM gerekenler
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.arcbees</groupId>
<artifactId>website</artifactId>
<version>3.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Arcbees Website</name>
<properties>
<target.jdk>1.7</target.jdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven-surefire-plugin.version>2.6</maven-surefire-plugin.version>
<maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
<maven-gae-plugin.version>0.9.5</maven-gae-plugin.version>
<gwt-maven-plugin.version>2.7.0</gwt-maven-plugin.version>
<maven-clean-plugin.version>2.6.1</maven-clean-plugin.version>
<gwt.version>2.7.0</gwt.version>
<gae.version>1.9.9</gae.version>
<gwtp.version>1.5-SNAPSHOT</gwtp.version>
<guice.version>3.0</guice.version>
<gin.version>2.1.2</gin.version>
<gsss.version>1.0-SNAPSHOT</gsss.version>
<gwtquery.version>1.4.3-SNAPSHOT</gwtquery.version>
<gwt-maps-api.version>3.10.0-alpha-7</gwt-maps-api.version>
<tooltip.version>1.1</tooltip.version>
<appear.version>1.0-SNAPSHOT</appear.version>
<gwtchosen.version>2.0.0-SNAPSHOT</gwtchosen.version>
<guava.version>18.0</guava.version>
<universal-analytics.version>2.1</universal-analytics.version>
<velocity.version>1.7</velocity.version>
<gwt-seo.version>0.1-SNAPSHOT</gwt-seo.version>
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
<gae.home>
${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/appengine-java-sdk-${gae.version}
</gae.home>
</properties>
<repositories>
<repository>
<id>sonatype.snapshots</id>
<name>Sonatype snapshot repository</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Google Web Toolkit dependencies -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
<!-- GWT-Platform dependencies -->
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-mvp-client</artifactId>
<version>${gwtp.version}</version>
<scope>provided</scope>
</dependency>
<!-- DI dependencies -->
<dependency>
<groupId>com.google.gwt.inject</groupId>
<artifactId>gin</artifactId>
<version>${gin.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<!-- Other -->
<dependency>
<groupId>com.arcbees.seo</groupId>
<artifactId>gwt-seo</artifactId>
<version>${gwt-seo.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.arcbees.gss</groupId>
<artifactId>gsss</artifactId>
<version>${gsss.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.googlecode.gwtquery</groupId>
<artifactId>gwtquery</artifactId>
<version>${gwtquery.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-crawler</artifactId>
<version>${gwtp.version}</version>
</dependency>
<dependency>
<groupId>com.github.branflake2267</groupId>
<artifactId>gwt-maps-api</artifactId>
<version>${gwt-maps-api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.arcbees.gquery</groupId>
<artifactId>tooltip</artifactId>
<version>${tooltip.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.arcbees.gquery</groupId>
<artifactId>appear</artifactId>
<version>${appear.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.arcbees.analytics</groupId>
<artifactId>universal-analytics</artifactId>
<version>${universal-analytics.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-gwt</artifactId>
<version>${guava.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.arcbees</groupId>
<artifactId>gwtchosen</artifactId>
<version>${gwtchosen.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<!--suppress MavenModelInspection -->
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt-maven-plugin.version}</version>
<configuration>
<module>com.arcbees.website.Arcbees</module>
<testTimeOut>180</testTimeOut>
<includes>**/*GwtTest.java</includes>
<mode>htmlunit</mode>
<extraJvmArgs>-Xss1024K -Xmx1024M -XX:MaxPermSize=512M -Duser.language=en -Duser.country=US
</extraJvmArgs>
<logLevel>INFO</logLevel>
<copyWebapp>true</copyWebapp>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<extraParam>true</extraParam>
<extra>extras</extra>
<optimizationLevel>9</optimizationLevel>
<deploy>${project.build.directory}/gwtDeploy</deploy>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${target.jdk}</source>
<target>${target.jdk}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<!-- Disable annotation processors during normal compilation -->
<proc>none</proc>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
<configuration>
<webappDirectory>${webappDirectory}</webappDirectory>
<webResources>
<resource>
<directory>src/main/webapp/WEB-INF</directory>
<filtering>true</filtering>
<includes>
<include>appengine-web.xml</include>
</includes>
<targetPath>WEB-INF</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>net.kindleit</groupId>
<artifactId>maven-gae-plugin</artifactId>
<version>${maven-gae-plugin.version}</version>
<dependencies>
<dependency>
<groupId>net.kindleit</groupId>
<artifactId>gae-runtime</artifactId>
<version>1.8.8</version>
<type>pom</type>
</dependency>
</dependencies>
<configuration>
<sdkDir>${gae.home}</sdkDir>
<serverId>appengine-credentials</serverId>
<splitJars>true</splitJars>
</configuration>
<executions>
<execution>
<id>install-server-jar</id>
<phase>validate</phase>
<goals>
<goal>unpack</goal>
</goals>
</execution>
<execution>
<id>deploy</id>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>sdm</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt-maven-plugin.version}</version>
<configuration>
<module>com.arcbees.website.ArcbeesDev</module>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<distributionManagement>
<repository>
<id>local-target</id>
<url>file://${project.build.directory}/distribution/release</url>
</repository>
</distributionManagement>
</project>
.
mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo \
-DarchetypeArtifactId=gwt-maven-plugin \
-DarchetypeVersion=2.7.0
Dokümanlar: http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html
- 1. Phonegap 2.7.0 için bir Facebook eklentisi var mı?
- 2. Python-mor etrafında yüzen herhangi bir örnek var mı?
- 3. Simple GWT OpenID Örnek
- 4. PLINQ'in herhangi bir faydası var mı?
- 5. GWT + UiBinder + Cin + Guice + JDO + GAE örnek
- 6. Var olan herhangi bir .NET OpenID Sağlayıcısı örnek kodunun farkında olan var mı?
- 7. GWT CEllTables'in 15 satır sınırı var mı?
- 8. Örnek bir örnek olmadan genel bir örnek üretmek için scalada bir yol var mı?
- 9. iOS'ta Android'in herhangi bir karşılığı var mı?
- 10. Moodle için herhangi bir API var mı?
- 11. Herhangi bir ücretsiz php tarayıcı var mı?
- 12. "Vurgulu" kodun herhangi bir yolu var mı?
- 13. Herhangi bir guava genel görünümü var mı?
- 14. Herhangi bir ccTalk kütüphanesi var mı?
- 15. Herhangi bir Clojure DSL var mı?
- 16. Herhangi bir FACEBOX alt türü var mı?
- 17. Herhangi bir standart silme functor var mı?
- 18. Herhangi bir GMP logaritma fonksiyonu var mı?
- 19. Tomcat'e herhangi bir IIS eşdeğeri var mı?
- 20. Herhangi bir IPMI simülatörü var mı?
- 21. Herhangi bir sprite koleksiyonunu bilen var mı?
- 22. Çevresinde herhangi bir ScalaConsole var mı?
- 23. Herhangi bir getNLMultibutton kitaplığı var mı?
- 24. Herhangi bir python OpenID sunucusu var mı?
- 25. GC.disable'ın herhangi bir performans dezavantajı var mı?
- 26. Herhangi bir İşleme programı profiler var mı?
- 27. Yazdırıldığında bir diziden "," öğesini kaldırmanın herhangi bir yolu var mı?
- 28. ComponentsSeparatedByCharactersInSet için herhangi bir örnek kod? (iPhone'da)
- 29. Java'dan Grok kullanarak nasıl ayrıştırılır .. Mevcut herhangi bir örnek var mı?
- 30. Birim testi kohana ana projesi için herhangi bir iyi öğretici (örnek) var mı?
Teşekkür Thomas, ancak, yaklaşık biraz karıştı: com.example.test.Test . Bu gwt.xml dosyasının "yolu" olmalı mı? –
jgp
Evet: noktalı paket adı + uzantısız dosyanın adı (not: bu ** bir dosya sistemi yolu değil!) –