我試圖移植到Android的工作室和我的應用程序引擎的代碼使用下面谷歌應用引擎後端 - Javax.persistence失蹤 - Android Studio中
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
搖籃構建文件:
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
}
}
那麼這刪除這些錯誤,我現在給你一個給予好評,但我稍後再進行測試之前,我接受它。不過,我無法在Maven.org上找到appengine-jsr107cache:1.1或jta:1.1。另外,增強任務是做什麼的? – easycheese
您需要在JPA/JDO實體類上運行增強功能,以便系統對其有用(http://www.datanucleus.org/products/accessplatform_2_1/enhancer.html)。你需要在編譯之後但在WAR之前運行它, 所以可能類似於 war.dependsOn appengineEnhance 可能適合你。 – loosebazooka
我不確定關於jsr和jta的依賴關係,我想知道這些依賴關係是否有所不同。舊的maven示例沒有使用jta,因此您可能不需要包含它,但jsr緩存依賴項位於以下位置:http://search.maven.org/#artifactdetails|net.sf.jsr107cache|jsr107cache|1.1 | jar – loosebazooka