용감하게 app engine에 계정을 만들고 등록 후
이클립스를 깔고 플러그인 설치 후 (4.2버전)
로컬에서 샘플코드가 동작하는 것을 확인 했는데..
디플로이 시 아래와 같은 에러가 난다....
해결책은....
------------ Deploying frontend ------------
Preparing to deploy:
Created staging directory at: 'C:\Users\chan\AppData\Local\Temp\appcfg5591258823302177949.tmp'
java.lang.RuntimeException: The application contains Java 7 classes, but the --use_java7 flag has not been set.
Debugging information may be found in C:\Users\chan\AppData\Local\Temp\appengine-deploy4754890449691318476.log
검색을 해보니 다음과 같다..
http://stackoverflow.com/questions/13848495/failed-to-deploy-to-google-app-engine-because-use-java7-flag-has-not-been-set
우선 appcfg.sh를 실행해 줘야 한다고 한다.
appcfg.sh --use_java7 update <나의 war 경로>
윈도우에서는
appcfg.cmd --use_java7 update <나의 war 경로>
appcfg.cmd의 위치는 다음과 같다.(구성에 따라 조금씩 변형)
~\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.7.4\appengine-java-sdk-1.7.4\bin
여기서 위의 명령을 실행 시켰더니.. 아래와 같이 에러가 난다T_T
C:\appengine\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.7.4\appengine-java-sdk-1.7.4\bin>appcfg.cmd --use_java7 update C:\appengine\workspace\chlab2\war
Reading application configuration data...
12월 21, 2012 7:06:53 오후 com.google.apphosting.utils.config.AppEngineWebXmlRea
der readAppEngineWebXml
INFO: Successfully processed C:/appengine/workspace/chlab2/war\WEB-INF/appengine
-web.xml
12월 21, 2012 7:06:53 오후 com.google.apphosting.utils.config.AbstractConfigXmlR
eader readConfigXml
INFO: Successfully processed C:/appengine/workspace/chlab2/war\WEB-INF/web.xml
Beginning server interaction for videoal...
0% Created staging directory at: 'C:\Users\chan\AppData\Local\Temp\appcfg1780197
686247910796.tmp'
5% Scanning for jsp files.
20% Scanning files on local disk.
25% Initiating update.
appengine.google.com/api/appversion/create?app_id=videoal&version=1&
400 Bad Request
Invalid runtime or the current user is not authorized to use it.
Unable to update app: Error posting to URL: https://appengine.google.com/api/app
version/create?app_id=videoal&version=1&
400 Bad Request
Invalid runtime or the current user is not authorized to use it.
Please see the logs [C:\Users\chan\AppData\Local\Temp\appcfg5069390772285775813.
log] for further information.
잘 진행 되더가.. 중간부터 에러..
뭔가 나는 사용 권한이 없는가 보다... 그리하여.. 아까 해결책을 좀 더 읽어보니
That said, if you aren't in the TT program you will likely get an error even with those flags set.
이런 말이 있다.
And while Java 7 support is not yet available within the App Engine Java runtime, developers interested in an early preview can sign up for our trusted tester program.
이런 말도 있네.. 신뢰할 수 있는 프로그램에 가입해야 사용이 가능한가보다...
링크를 따라 누르면..
App Engine Java 7 Support - Trusted Tester Sign-up
--------------------------------------------
해결을 위해 java 1.6을 설치해 보자..
여기서 나처럼 appengine-java-sdk-1.6 버전을 설치해야 java7로 컴파일되지 않는다고 착각하기 쉽다.
appengine-java-sdk버전은 검색을 해 보면 1.6이나 1.5로 대부분 설치 했던 예제들이 있는데 현재 시점에서는 1.7.4버전만 선택된다... 난 이걸 1.6으로 바꿔야 하는 줄 알고 여기 저기 엄청 찾아 다녔다T_T
결론적으로는 이 버전은 java7 버전 빌드와는 아무 상관없다.
1.7.4로 선택하여 빌드 및 deploy 해도 된다는 말씀..
중요한 것은 OS의 jdk/jre 버전이다. 이걸 1.6으로 설치 후에 eclipse의 preferences-java에서 installed JREs 설정 및 compiler에서 Compiler compliance level을 1.6으로 설정 해 준다.
이런 후에 프로젝트를 만들어 deploy 하면 구글 id.appspot.com에 배포성공 및 접속이 됨을 확인할 수 있다...
괜히 저 숫자 때문에 고생하지 말자:)
'IT > 개발의짜릿함' 카테고리의 다른 글
GIT 특징 (0) | 2013.08.05 |
---|---|
모방할 수 없는 서비스 구축 (0) | 2012.11.02 |
DNS-323 FFP(fun_plug) 부팅 시 기동이 안 되는 문제 해결 (0) | 2012.07.07 |
Recent Comment