我已经发现了如何做到这一点,但我认为它应该更容易 eheheh。
它是这样的:
1)首先我们必须设置PostgreSQL服务器;
2) 使用 webAppCreator(来自 GWT SDK)创建我们的 Web 应用程序;
3) 由于我们必须增强我们的域类以供 datanucleus 和 JDO 使用,因此我们有多种选择。我使用了 Apache Ant 任务(来自 Google App Engine SDK)。如果我们这样做,我们可以使用来自 App Engine 的优秀部分(简单的类增强),但我们的应用程序不会受到 App Engine 的限制。
对使用 webAppCreator 创建的 build.xml 的补充:
<!-- this refers to the location of my Google AppEngine SDK -->
<property name="sdk.dir" location="C:/Projects/appengine-java-sdk" />
<import file="${sdk.dir}/config/user/ant-macros.xml" />
<target name="copyjars"
description="Copies the App Engine JARs to the WAR.">
<copy
todir="war/WEB-INF/lib"
flatten="true">
<fileset dir="${sdk.dir}/lib/user">
<include name="**/*.jar" />
</fileset>
</copy>
</target>
<target name="compile" depends="copyjars"
description="Compiles Java source and copies other source files to the WAR.">
<mkdir dir="war/WEB-INF/classes" />
<copy todir="war/WEB-INF/classes">
<fileset dir="src">
<exclude name="**/*.java" />
</fileset>
</copy>
<javac
srcdir="src"
destdir="war/WEB-INF/classes"
classpathref="project.class.path"
debug="on" />
</target>
<target name="datanucleusenhance" depends="compile"
description="Performs JDO enhancement on compiled data classes.">
<enhance_war war="war" />
</target>
4)从官网下载PostgreSQL JDBC Driver;
5)从官方sourceforge页面下载datanucleus-rdbms.jar文件;
6)将这些罐子添加到项目类路径中;
7)创建一个包含以下内容的文件:
javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.jdo.JDOPersistenceManagerFactory
javax.jdo.option.ConnectionDriverName=org.postgres.jdbc.Driver
javax.jdo.option.ConnectionURL=jdbc:postgres://localhost:5432/myschool
javax.jdo.option.ConnectionUserName=root
javax.jdo.option.ConnectionPassword=rootroot
datanucleus.autoCreateTables=true
8) 像这样创建一个 PersistenceManagerFactory:
File propsFile = new File("Insert the location of the properties file here");
PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(propsFile);
9) 创建领域类并运行新的 Ant Target datanucleusenhance;
10) 这将创建增强的类和与关系数据库的连接,并将信息存储在 PostgreSQL 的表中。
11)如果我没记错的话,如果我没有忘记任何事情,那就是:)
感谢您阅读问题。拜托,如果你发现什么不对劲,你能告诉我吗?这是我第一次来这里:P
==== 一些参考 ====
http://code.google.com/intl/en/appengine/docs/java/tools/ant.html#Enhancing_JDO_Classes