ラベル Eclipse の投稿を表示しています。 すべての投稿を表示
ラベル Eclipse の投稿を表示しています。 すべての投稿を表示

2016-04-05

「Java was started but returned exit code=13」というエラーでEclipseが起動しない場合の対処法

PCのデフォルトのJVMとEclipseのバージョンが違うだけですので、揃えましょう。方法としては次のいずれかで。。。

【方法1】
  • JREを入れなおす
【方法2】
  • eclipse.iniに下記を追加

    -vm
    C:\java\jdk1.8\bin\javaw.exe

    #最初の行に。上記のように改行して2行で構成させてOK。


2015-06-18

Eclipse:GWTプロジェクトで 「missing required argument 'modules」と言われた場合の対処法

EclipseのGoogle Web Applicationプロジェクトにおいて、
  • missing required argument 'modules
みたいなエラーが出る時があります。これは、結論から言えば、
  • GWTを有効化しているのにGWTのモジュールが定義されてない
場合に発生します。
おちラボでは、Jettyがついてくるという手軽さを利用してGWTを使わない場合でも「Google Web Application」でプロジェクトを生成する場合があるのですが、その際によく陥るエラーですね。

解決方法としては、なんでもいいからGWT Moduleを作っておけばOKです。


2015-03-12

Eclipseを起動させるJava VMのバージョンを指定する

GWTやGAE対応のアプリ開発をするときは、EclipseにGPE(Google Plugin for Eclipse)をインストールするのが普通ですが、現段階でのGPEの動作条件は
Java 7(JRE 7) かつ最新のEclipse
となっています。Javaを利用するのがEclipseだけならまだいいですが、すでにJava8がインストールされていた場合、、、わざわざ新しい方を消すというのも勧められません。共存するためには、EclipseだけJava7で動かす必要があります。で、その方法ですが、eclipse.iniファイルにおいて、
-vm
C:\Program Files\Java\jre7\bin\javaw.exe
という記述を追加すればOKです。ここの書き方の注意点は、オプション名と値を必ず2行に分けて記述することです。 また、-vmargsよりも前に書かないとダメです。


2014-11-21

Eclipse 4.4 (Luna)を利用する際はJDK/JREは1.7以上に

ラボのPCでGWTの環境を再構築したものの、GWTが使えないという事象が発生。Google Plugin for Eclipseのインストールには成功しているのだが、そのplug-inが有効にならない。ファイルの新規プロジェクトメニューにGoogleのカテゴリーが出てこないという、、、で、原因は
  • LunaはJDK1.7以上が要求仕様であり、PCのJDKが1.6のままであったため

ということ。正確に言えば、Lunaは正常に?起動するが、多くのplug-inが1.7ベースになっているというので、まともに動かないということのようだ。。。
Javaのバージョンは下記のように確認できる。






なお、現在のJDKは 1.8が最新版だが、GAE/Jは1.7を前提にしているので注意が必要だろう。


2013-12-10

Eclipse:Android SDK Managerや Android Virtual Device Managerのメニューない場合の対処法

Android関係のSDKやプラグインを入れたのにも関わらず、メニューにそれ関係の項目が表示されていない場合があります。別にインストールに失敗したわけではありません。表示されていないだけです。
  • Windowメニューの Customize Perspectiveを選択
  • Command Groups AvailavilityからAndoroid関係の項目を選択
とすることで、表示されます。



2013-02-22

EclipseのソースファイルをDropBoxで共有 ~Google Web Application編~

自宅と職場・大学で開発を継続させるには、DropBoxを利用して共有するのが一番です。しかし、Eclipseの場合、WorkspaceにPC固有の環境情報まで入ってしまうので、Workspace毎共有してもで動かないということが多々あります。そこで、DropBoxでEclipseのファイルを共有するには、
  • ソースファイルだけ共有する
というのが、無難なやり方となります。具体的に言えば、プロジェクト(Workspace)内にソースコードはおかず、DropBox内のディレクトリにソースをおいて、プロジェクトに紐付け(リンク)させればOK。
ただしWeb Applicationの場合、Javaソースフォルダだけでなく、warフォルダ(Webフォルダ)も共有しないといけないので、ちょっと面倒。以下、その方法を述べる。

0.共有フォルダの作成
ここでは、次の3つのフォルダを共有する。自分の環境で何を共有するのかはお好みで。
  • src  ・・・ Javaのソースファイルを置く場所
  • war ・・・ Webディレクトリとなる場所
  • lib ・・・ このプロジェクトで利用するライブラリ(jarファイル)の置き場
1.Javaソースの共有
(1)Java Build Path(Source)でDropboxに作ったsrcフォルダをソースとしてリンク追加
(2)元のソースディレクトリは削除してよい

2.Warフォルダの共有設定
こちらがちょっとやっかい。warフォルダだけでなく、classesの設定もしないといけないので。

(1)Java Build Path(Source)でDropboxに作ったwarフォルダをソースとしてリンク追加(例えばwar2と名付ける)
(2)Packege Exploreでwarフォルダ内の内容をwar2にコピーしておく

(3)Java Build Path(Source)でdefault output folderの設定をwar2フォルダ内のclassesに変更

(4)ここでエラーが出てOKボタンが押せないので、ソースフォルダ(Java Build Path内)からwar2を削除


war2/WEB-INF/classesをoutputフォルダにすると、上記のようなエラーが出ます。どうすればいいかというと、先ほど、ソースフォルダとして追加したwar2フォルダをパスから削除すればいいんです。


そうすると、なぜかうまくいくんですよね。。。。

(5)Google Web Application の設定で WARディレクトリ設定を war2にする。


以上の処理でOKです。(4)の処理がクセモノですね。ちなみに、(3)の処理をしておかないとデフォルトのwarフォルダが消せませんし、おそらくアプリも動かないでしょう。




2012-10-22

GWT:EclipseでUiBinderファイルを作成した時にInvalid web.xml file.

EclipseでUiBinderを作成した時に、最初にUiBinderのxmlを開いて「Design」タブを開くと、上記のような画面が出ることがあります。


このような画面が出た時は、とりあえず、war/WEB-INF/web.xml を一度開いてください。そうすると、上記のエラーは無くなります(Reparseを押してください)。



2012-10-19

Eclipse:jdoconfig.xmlファイルのエラー

最近、Eclipseでウェブアプリを開発しているときに、jdoconfig.xmlファイルに下記のようなエラーが出るようになりました。


これは、どうやらjdoconfigのnamespace定義しているURIが違うって感じのエラーです。実害はないようですが、気持ち悪いですね。このエラーを消す方法ですが、
  • xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig"を思い切って消す(たぶん実害なし?未確認)
  • xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd" を追加する
のいずれかが解決策です。後者の場合は下記のようになります。



2012-10-16

Eclipse: GWT+GAE のプロジェクト作成でエラー(/web.xml already exists)

Eclipse でGWT+GAEのプロジェクトを作成しようとした時、
Creation of element failed:
Reason: Resource '/xxx/war/WEB-INF/web.xml' already exists.
というエラーが出て作成できない場合があります。この時は,
  • とりあえず、GAEをOFFにしてプロジェクトを作成し、後から追加
という手順で解決します。

2012-07-20

Eclipse:国内のサイトを利用してアップデートを高速化する

Eclipseの各種プラグインソフトは、新規ソフトウェアのインストールの画面を利用して行いますが、ソフトウェアのダウンロード元のサイトはデフォルトでは、
  • http://download.eclipse.org/
となっています。実はこのサイトのミラーが国内には存在します。
  • http://ftp.jaist.ac.jp/pub/eclipse/
そこで、デフォルトのサイトを国内にすべて変更することでアップデートの高速化が図れます。ただし、Eclipseはデフォルトで複数の箇所でこのURLを指定しているので、いちいちすべて書き換えるのが面倒です。そこで、簡単な手順を下記に上げます。
  1. 新規ソフトウェア→使用可能なソフトウェア・サイトをクリック
  2. すべてのロケーションを選んでエクスポート
  3. エクスポートしたファイルをコピーし、別名で保存しておく(万一のバックアップ)
  4. すべてのロケーションを選んで除去(remove)
  5. エクスポートしたファイルをエディタで開き、上記のデフォルトのURLの箇所を国内のURLのところへ置換して保存( http://download.eclipse.org/ →  http://ftp.jaist.ac.jp/pub/eclipse/ )
  6. そのファイルをインポート
つまり、1つずつ変更するよりも設定ファイルをエクスポートして一括変換してすべて書き直すほうが手ばやいってことですね。


2012-06-28

Eclipseの調子が悪くなったら。。。。

Eclipseの調子が悪くなったら、特にプラグイン関係でうまく動かない場合は、
eclipse.exe -clean
で実行すると治ることがあります。

私の場合、最初にGAEの設定ページを開こうとしたら
選択されたプロパティー・ページを作成できませんでした。
(class: com/google/appengine/eclipse/core/properties/ui/GaeProjectPropertyPage, method: createSdkComponent signature: (Lorg/eclipse/swt/widgets/Composite;)V) Bad type in putfield/putstatic
などというエラーが出てプラグインをバージョンアップしても治らず、しかもEclipse自体が起動しなくなるというトラブルに見舞われましたが、神頼みでこのコマンドを実行して無事正常に戻りました。

2012-06-25

Eclipse:WindowBuilderインストールのススメ

WindowBuilder ってGWTのGUIデザインのためのものかと思ってましたがそうじゃないようですね。WindowBuilderというのはあくまでもエンジンで、実際のデザイン環境は
  • GWT Designer
  • SWT Designer
  • Swing Designer
と用意されているようです。

GWTDesigerだけを使う場合
http://dl.google.com/eclipse/inst/d2gwt/latest/3.7
からプラグインをダウンロード。


全部まとめて使いたい場合
http://dl.google.com/eclipse/inst/d2wbpro/latest/3.7
からプラグインをダウンロード。
となります。両者のURLは似ているようで微妙に違いますので注意してください。



2012-05-30

EclipseでのGWT(DevMode)+Tomcatアプリケーション開発

EclipseでGWTのDevModeを使いつつ、サーバをTomcatにする方法がわかりました。特にマニアックな設定というわけではない感じですが、意外とネットで見つからず手間がかかりました。手順をおって説明します。


(1)Google Webアプリケーションとしてプロジェクトを作成する
これは普通に作成してください。ただし、GAEは無効にしてください。サンプルコード自動生成もONにしておくといいでしょう。後の動作確認がラクですから。

(2)動的ウェブアプリケーション(Dynamic Web Application)を追加にする
プロジェクトのプロパティで、Facetsの設定を開き、Dynamic Web Applicationを追加してください。この設定をすることでTomcatが有効になります(Tomcatのプラグインが入ってない場合は入れておきましょう。)。この時、動的ウェブアプリケーションのバージョンは2.4にしておきましょう。
また、 コンテンツディレクトリ設定 をwarにしておいてください(デフォルトはWebContent)。この点については、GWTのウェブルートと統一しておくことが大切ですので、どちらを変えても結構です。

(3)サーバでデバッグ
デバッグをします。デバッグからサーバでデバッグを選びます。そこでTomcatを指定しましょう。また下にある「常にこのサーバーを使用」にチェックを入れておきます。実行するとTomcatが起動するはずです。

(4)ウェブアプリケーション(外部サーバで実行)でデバッグ
もう一度デバッグをします。今度は、デバッグからウェブアプリケーション(外部サーバで実行)を選びます。すると、ダイアログが出てきますので、server rootとして
http://localhost:8080/<プロジェクト名>
とします。ウィンドウの真ん中でHTMLファイルを選びます。下部に最終的なURLが出ますので確認してOKを押します。すると、いつものようにDevelopment Modeのペインが開きますので、そこのURLをクリックします。するといつもの様にサンプルプログラムが動きます。え?これってTomcatがサーバなの?と心配な方は、サンプルのボタンを押してみてください。下記のようにメッセージがでてきますが、、、、よく見ましょう。「I' m running Apache Tomcat」となってますね。つまり、このプロジェクトは、サーバはTomcatだけれど、クライアントのGWTはDevModeで動いているということになります。


まとめと注意事項 
結局、これってどうなってるのか?ちょっとわかりにくいので簡単にまとめますね。
  • プロジェクトの基本はGoogleのWebアプリケーションです。DevModeを利用するためには、このプロジェクトとして作成する必要があります。 
  • GoogleのWebアプリケーション でTomcatを利用するためには、Facetsの設定でDynamic Web Applicationを追加する必要があります。この設定により、このプロジェクトではJettyとTomcatの両方を使えるようになったということになります。 
  • デバッグ時に外部サーバーを利用することで、Jettyを使わず、Tomcatを利用することになります。 
  • ただし、Tomcatサーバの起動は Webアプリケーションデバッグと連動してないので、別に起動する必要があります。さらに、サーバープログラムについては、Tomcatを再起動しないと反映されないようです(オートデプロイされない?)。
以上、参考になれば幸いです。


EclipseによるGAEを利用しないGWT開発

初歩的な事だけど、ラボでよく勘違いする話なのでメモ書きです。

EclipseでGoogleのWebアプリケーションプロジェクトをつくると、GWTとGAEが有効になります。一般的にGoogleのWebアプリケーションを利用する=GAEを利用するという認識になってるようですが、GoogleのWebアプリケーションプロジェクトではGWTとGAEを利用するかどうか、それぞれ有効/無効の設定ができます。つまり、 GAEを利用しないのであればGAEだけを無効にすればOK。

GoogleのWebアプリケーションでGAEを利用しないってどういうシチュエーションなのか?疑問に思うかもしれませんが、一般的なWebサーバーで動くGWTアプリケーションを開発したい場合です。GWTというのは別にGAE限定ではありませんからね。

GAEを無効にするとどうなるのかというと、今までどおりJettyサーバーが稼働します。GAEを有効にしている時もJettyが立ち上がりますが、Jettyというのは汎用のWebアプリケーションサーバーです。別にGAE用というわけではありません。つまり無効にする事でGAEの制約を受けずにJettyを利用できるということです。

そもそもなぜこの事を記事にしたとかというと、
  • Eclipse上でTomcatを動かしてGWTアプリを作る
というのを本当はやりたかったのです。いちおうこの方法はわかっているのですが、GWTのDevModeとの連携ができずに断念しています。GWTはさすがにDevModeが使えないと使う気になれませんし。

おそらくコンパイルオプションを変えればできそうな気がしてますが、まだ未解決です。現在検討中ですので、方法がわかれば紹介します。

2012-04-17

GWT:java.lang.NoSuchFieldError: warningThreshold

EclipseのDynamic Web application のプロジェクトにてGWTのライブラリを追加してコンパイルをした際に、
java.lang.NoSuchFieldError: warningThreshold
というエラーが出る場合があります。これは、ライブラリの Order and Export においてGWTを上位にすることで解決できときがあります。
【Build Path】→【Configure Build Path】→【Order and Export】



試してみてください。

2012-03-07

GWT: Unable to find ~gwt.xml on your classpath

EclipseでのGWTの開発において、複数のGWTモジュールを1つのプロジェクトに併用している場合に標題にあるように,
GWT: Unable to find ~gwt.xml on your classpath
というエラーが発生。エラーとしては、
  • 実行しようとしているGWTのモジュールファイルがない
ということなのだが、そもそもそのモジュールは呼ぶつもりもなく、Run ConfigurationのGWTの設定タブからも削除している。にもかかわらず、Eclipseがそのモジュールを読みにいこうとしているというバグっぽい現象。
で、解決策ですが、Run ConfigurationのArgumentsの欄をよーく見ていると、そこにモジュールの情報が書かれていて、無効にしているはずのモジュールが残っているという、、、しょうもないバグですがこれで半日潰しましたよ。

2012-03-06

GAE:Unable to restore the previous TimeZone

EclipseでGAEプロジェクトを起動しようとしたら、
Initializing App Engine server [ERROR] Unable to start App Engine server java.lang.RuntimeException: Unable to restore the previous TimeZone
というエラーが発生。どうやら実行時のタイムゾーンの設定が必要らしい。手順は以下のとおり。
  1. Run Configurationを開く
  2. Argmentsを開く
  3. VMのオプションとして、-Dappengine.user.timezone=JST  または  -Dappengine.user.timezone.impl=JST のどちらかを追記。(追加はスペースを開けること)


2012-02-24

EclipseのGWTプラグインのHTML生成ウィザードにバグ?

EclipseのGWTプラグインHTML生成ウィザードにちょっとバグがあるようなので2つほど取り上げときます。

旧バージョンにバグ
1つ目は既に解決済みのバグですが、古いバージョンだとHTMLファイルが生成されない模様(ネットでも同様の指摘があり)。Finishを押してもウィザードが閉じずに何も作られない現象が起きることがあります。これは古いバージョンで起きていたようで、もしこの現象が生じたらプラグインを最新版にアップデートしておきましょう。

現バージョンでもバグ?
もう1つはおそらく現在も治っていないバグですが、ウィザードで生成されるHTMLファイルが正しく生成されません。このHTMLはアプリの実体、つまりnocache.jsファイルへの参照が記述されてるのですが、その参照の記述が正しくされないというバグが起きています。具体的にいうとnocache.jsだけ書いてあって、ディレクトリとかパッケージ名が正しい名前が書かれていません。実際にこのファイルがどこに配備されるのかは、GWTコンパイラが生成するファイルみればわかりますので、その通りにしましょう。まあだいたい、
モジュール名/モジュール名.nocache.js
という記述になっているはずです。

なお2つめのバグは、Dynamic WebApplicationプロジェクトでGWTを利用した際に発生しました。動作環境はEclipse3.7 with GWT2.4 on Macです。GWTを利用するときは普通はGoogleのWebapplicationプロジェクトを利用するので、ほとんどの人はHTMLファイルウィザードなんて利用してないから気づいてないのかもしれません(あるいは私の固有のバグ?)。


2012-02-22

[GWT:エラー] reportUnusedDeclaredThrownExceptionIncludeDocCommentReference

EclipseでTomcatの環境でGWTをコンパイルしようとした時に、標題にあるようなエラーが出ました。詳しく書くと、
java.lang.NoSuchFieldError:reportUnusedDeclaredThrownExceptionIncludeDocCommentReference
という感じです。これの解決策ですが、ライブラリの参照順番によってこのようなエラーがおきるようです。具体的に言うと、
  • Tomcatライブラリの参照の前にGWTのライブラリ参照をする
という方法で解決できます。Eclipseでは[Configure Build Path]→[Order and Expert]のところでクラスパスの順番を変えることでOKなようです。

このように、GWTSDKを上の方に持ってくることでコンパイルが成功しました。

P.S
ちょっと現在、GAEからの脱却を図りつつGWTを利用していく方針を検討しているのですが、Netbeansだったらすんなりサーバ切り替えでで対応できるんですが、EclipseはGAEとGWTが結構密接に関係しているようで、GAEに依存しないGWTアプリを作るにはちょっとした手間がかかりそうです。


EclipseのGAEローカルサーバーにlocalhost以外からアクセスする方法

ちょっとハマったのでメモ書き。

EclipseのGAEローカルサーバ(つまりJetty)に、LAN内の他のマシンからアクセスすることができないという事象が発生。もちろん、LANの環境は問題なく設定されています。で、原因なのですが、EclipseのGAEローカルサーバはデフォルトでは外部からアクセスができないようになっているらしい。具体的にいうとサーバが自分のIPを認識できてない模様?で、localhostでは反応するがIP直接指定だと同じマシンでもダメ。。。ということになっている。それを解決する設定は下記の通り。

  • Run→RunConfiguration→Arguments→Program argumentsを開く
  • 左ペインから 設定したい Web Application名を選択←間違えないように。
  • --address=xxx.xxx.xx.xx を追記(xxxのところは自分のマシンのIPアドレス)

そうすることで、IPアドレス指定のアクセスに反応してくれます。

以前は、こんなことをしなくても動いてくれたたはずなので、、、、いつのバージョンから変わったんだろうか。