电商网站方案,怎么创业做电商,手机上可建网站做淘宝客吗,网页源代码大全大家好#xff0c; 在观看Justin撰写的有关Spring和GWT的非常有趣的文章时#xff0c;我认为展示如何构建自己的自定义Maven原型非常有用。我们将展示的原型基于Justin的上一个项目#xff0c;并包括各种技术#xff0c;例如Spring #xff0c; GWT #xff0c; AspectJ… 大家好 在观看Justin撰写的有关Spring和GWT的非常有趣的文章时我认为展示如何构建自己的自定义Maven原型非常有用。我们将展示的原型基于Justin的上一个项目并包括各种技术例如Spring GWT AspectJ HornetQ和Infinispan 。 聊够了现在让我们动手吧。 准备原型。 首先您必须有一个用于构建原型的模板项目。在我们的演示文稿中您将在此处找到Justin项目。 将目录更改为项目的根目录然后运行以下命令。 mvn archetype:create-from-project 命令完成后您将在以下位置找到一个新项目该项目在$ {project_home} / target / generated-sources / archetype位置生成。它是一个完整的Maven原型项目您可以根据自己的需要进行自定义。 在文件夹src / main / resources / META-INF / maven中您可以找到archetype-metadata.xml它是原型的描述符。 在文件夹src / main / resources / archetype-resources中是将要生成的模板项目。 定制原型。 Maven原型使用apache速度来生成其代码。 您可以通过在文件顶部设置以下常量来访问文件中的速度变量 #set( $symbol_pound # )
#set( $symbol_dollar $ )
#set( $symbol_escape \ ) 然后您可以使用$ {artifactId}语法访问Maven属性例如artifactId 。还可以使用以下语法__artifactId__来访问参数值。 每个原型都具有以下基本参数 groupId artifactId 版 包 您还可以使用以下语法在archetype-metadata.xml中设置任意数量的变量 default_value 请注意每次添加变量时都应编辑src / test / resources / projects / basic / archetype.properties并添加参数。 version0.1-SNAPSHOT
groupIdarchetype.it
artifactIdbasic
custom_variabledefault_value 在我们的示例中我们执行了以下更改 在src / main / resources / META-INF / maven / archetype-metadata.xml中 requiredPropertiesrequiredProperty keydbdefaultValuederby/defaultValue/requiredPropertyrequiredProperty keydburldefaultValuejavacodegeeks/defaultValue/requiredProperty requiredProperty keydbusernamedefaultValue***/defaultValue/requiredPropertyrequiredProperty keydbpassworddefaultValue***/defaultValue/requiredPropertyrequiredProperty keycachedefaultValuey/defaultValue/requiredProperty
/requiredProperties在src / test / resources / projects / basic / archetype.properties dbderby
dburljavacodegeeks
dbusernametest
dbpasswordtest
cachen 在src / main / resources / archetype-resources / pom.xml中 #if( $db derby )dependencygroupIdorg.apache.derby/groupIdartifactIdderby/artifactIdversion10.6.1.0/version/dependency#elseif( $db mysql )dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.13/version/dependency#else dependencygroupIdorg.apache.derby/groupIdartifactIdderby/artifactIdversion10.6.1.0/version/dependency 和 pluginartifactIdmaven-resources-plugin/artifactIdversion2.4.3/versionexecutionsexecutionidcopy-resources/id!-- here the phase you need --phasevalidate/phasegoalsgoalcopy-resources/goal/goalsconfigurationoutputDirectory${basedir}/src/main/webapp/${package}.Application/outputDirectoryresourcesresourcedirectory${basedir}/src/main/resources/${artifactId}/directoryfilteringtrue/filtering/resource/resources/configuration/execution/executions/plugin 在src / main / resources / archetype-resources / src / main / webapp / WEB-INF / applicationContext.xml中 #if($db mysql) bean iddataSource classcom.atomikos.jdbc.AtomikosDataSourceBeaninit-methodinit destroy-methodcloseproperty nameuniqueResourceName valuejavacodegeeks /property namexaDataSourceClassNamevaluecom.mysql.jdbc.jdbc2.optional.MysqlXADataSource /property namexaPropertiespropsprop keyURL${dburl}/propprop keyuser${dbusername}/propprop keypassword${dbpassword}/prop/props/propertyproperty namemaxPoolSize value50 /property nameminPoolSize value20 //bean#elsebean iddataSource classcom.atomikos.jdbc.AtomikosDataSourceBeaninit-methodinit destroy-methodcloseproperty nameuniqueResourceName valuejavacodegeeks /property namexaDataSourceClassName valueorg.apache.derby.jdbc.EmbeddedXADataSource /property namexaPropertiespropsprop keydatabaseName${dburl}/propprop keycreateDatabasecreate/prop/props/propertyproperty namemaxPoolSize value50 /property nameminPoolSize value20 //bean #end 在src / main / resources / archetype-resources / src / main / resources / META-INF / persistence.xml中 #if($cache y)property namehibernate.cache.use_second_level_cache valuetrue/property namehibernate.cache.use_query_cache valuetrue/property namehibernate.cache.region.factory_class valueorg.hibernate.cache.infinispan.InfinispanRegionFactory/!-- property namehibernate.cache.infinispan.entity.eviction.strategy value LRU/property namehibernate.cache.infinispan.entity.eviction.wake_up_interval value 2000/property namehibernate.cache.infinispan.entity.eviction.max_entries value 5000/property namehibernate.cache.infinispan.entity.expiration.lifespan value 60000/property namehibernate.cache.infinispan.entity.expiration.max_idle value 30000/--#elseproperty namehibernate.cache.use_second_level_cache valuefalse/^Mproperty namehibernate.cache.use_query_cache valuefalse/^M#end 将com / javacodegeeks / gwtspring / public文件夹重命名为__artifactId__。 安装和运行原型 要安装原型请转到原型的根文件夹然后键入。 mvn install 这将创建〜/ .m2 / archetype-catalog.xml文件如果您是Eclipse的m2eclipse用户则可以将其导入到eclipse。 要运行原型请运行以下命令。 mvn archetype:generate -DarchetypeCataloglocal -DarchetypeGroupIdcom.javacodegeeks -DarchetypeArtifactIdgwtspring-archetype 或在eclispe中创建一个新的maven项目然后从您从〜/ .m2 / archetype-catalog.xml导入的本地目录中选择原型。 ***请注意原型可能是快照您应选中“包括快照原型” 。 原型的源代码在此处 。 希望您喜欢这篇文章 最好的祝福 拍 翻译自: https://www.javacodegeeks.com/2010/07/building-your-own-gwt-spring-manen.html