Google app engine 删除GPE复制的GAE JAR
在我的Google app engine 删除GPE复制的GAE JAR,google-app-engine,eclipse-plugin,Google App Engine,Eclipse Plugin,在我的WEB-INF/lib中,我只需要两个与应用引擎相关的jar(appengine-api-1.0-sdk-1.6.0.jar和appengine-api-labs-1.6.0.jar),但谷歌Eclipse插件(GPE)复制了十几个jar,就像用于JDO、缓存等的jar,我真的不需要这些jar(以保持部署和版本控制的轻松性). 如果我从WEB-INF/lib中删除这些内容,GPE会不断抱怨并将它们复制回来 同样的事情已经讨论过了,但它建议编写一个Ant任务来删除那些JAR,我真的不想这么做
WEB-INF/lib
中,我只需要两个与应用引擎相关的jar(appengine-api-1.0-sdk-1.6.0.jar
和appengine-api-labs-1.6.0.jar
),但谷歌Eclipse插件(GPE)复制了十几个jar,就像用于JDO、缓存等的jar,我真的不需要这些jar(以保持部署和版本控制的轻松性). 如果我从WEB-INF/lib
中删除这些内容,GPE会不断抱怨并将它们复制回来
同样的事情已经讨论过了,但它建议编写一个Ant任务来删除那些JAR,我真的不想这么做(因为我的项目中没有使用任何Ant build.xml)
有谁有更好的解决办法吗?我更喜欢Netbeans/Maven,但为了简单和官方支持的插件,这里需要使用eclipse。一切都是新安装的。新的Google Eclipse插件有一个选项,允许您删除Datanucleus JAR。这将删除大约5-6个JAR文件。如果您没有看到下面的屏幕,您应该更新Eclipse版本的Google插件:
部署不是问题,因为当您部署时,SDK会检查本地文件系统中文件的哈希值,将其与Google服务器上的哈希值进行比较,并且只上载已更改的文件。不幸的是,IMO ant任务是我发现的唯一方法。 您可以按照Ikay的建议取消选中插件配置中的DataNucleus jars,但是
<target name="pre-deploy">
<delete dir="deploy" />
<mkdir dir="deploy" />
<copy todir="deploy">
<fileset dir="war"/>
</copy>
<delete>
<fileset dir="deploy/WEB-INF/lib/" includes="*.jar"/>
</delete>
<copy todir="deploy/WEB-INF/lib">
<fileset dir="lib/runtime"/>
</copy>
<!-- pack all classes into single jar for faster gae instance startup -->
<jar destfile="deploy/WEB-INF/lib/myjar.jar" basedir="deploy/WEB-INF/classes" />
<!-- delete classes (but not properties!) -->
<delete dir="deploy/WEB-INF/classes/com" />
</target>
它也很有用,因为它允许将所有类打包到一个jar中,许多人报告说这可以节省启动时间。部署脚本非常简单:
<import file="${gae.sdk}/config/user/ant-macros.xml" />
<target name="deploy" depends="pre-deploy">
<appcfg action="update" war="war" />
</target>