我尝试迁移到Android工作室,我的应用引擎代码使用下面列出的实体框架
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class AppVersion {
@Id
private String applicationName;
private int minVersionRequired;
public String getApplicationName() {
return applicationName;
}
public int getMinVersionRequired() {
return minVersionRequired;
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
public void setminVersionRequired(int minVersionRequired) {
this.minVersionRequired = minVersionRequired;
}
}
在Android Studio(0.5.6)中创建后端并不起作用,我无法导入javax.persistence。*
从这个link我发现我需要创建一个persistence.xml文件(这是在Eclipse中自动创建的)。我只是无法弄清楚它应该在文件结构中的位置。我知道它需要在META-INF文件夹中,但我不知道gradle的对应位置(或者是否必须在gradle构建文件中创建)。 当前文件结构:
-src
-main
-java
-com.package.test
class files
-webapp
-css
-js
-WEB-INF
Gradle构建文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.1'
}
}
repositories {
mavenCentral();
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.1'
compile 'com.google.appengine:appengine-endpoints:1.9.1'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.1'
compile 'javax.servlet:servlet-api:2.5'
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
答案 0 :(得分:2)
Android Studio的App Engine示例不使用JPA。
但是,如果您想使用JPA,则需要添加JPA依赖项,这将描述您可能会在哪些地方找到它们https://developers.google.com/appengine/docs/java/datastore/jpa/overview-dn2
所以这些(或其中的一些子集)
在maven.org上查看这些依赖项将揭示如何将它们作为编译依赖项包含在build.gradle文件中:
asm-4.0:
compile 'org.ow2.asm:asm:4.0'
datanucleus-api-jpa-3.1.3:
compile 'org.datanucleus:datanucleus-api-jpa:3.1.3'
等等。
您希望版本与appengine sdk中的版本完全相同,以确保兼容性。还要确保在项目上运行增强任务。
答案 1 :(得分:0)
尝试将以下内容添加到build.gradle
compile group: 'javax.persistence', name: 'persistence-api', version: '1.0'