Eclipse Gluon 画面サイズ〜Gradleの起動が止まる〜

開発作業中にまた遭遇しました。バグです。

Viewクラスを継承してViewを作成しているのですが、画面のサイズを取得したくて以下の様なコードを追加したところGradleの起動が途中で止まってしまう現象に遭遇しました。

this.getParent().getLayoutBounds().getWidth();

クラスの実装は大雑把にこんな感じです。

public class BasicView extends View {
    ・
    ・
    ・
   public String getCSS() {
      double width = this.getParent().getLayoutBounds().getWidth();
      ・
      ・
      ・
   }
}

問題のコードを使用しなかった場合、問題なく起動します。

原因は不明、とりあえず箱のコードを使用しない様にして回避しています。

でわでわ。。。

[rakuten ids="akibamac:10585811"]

追記

ちなみに、画面のサイズを取得するのは以下の様なコードで取得できました。

MobileApplication.getInstance().getGlassPane().getWidth()



Eclipse Gluon〜Launching Gradle tasks failed〜

またしても表題の様なエラーが出ました。

事件が起きた状況

作業場所を移動して、近場のスーパー銭湯は休憩所にて端末を立ち上げて作業開始した時(インターネットには未接続)Gradleでアプリを起動したら以下の様にエラーが出ました。

「ん〜何がいけないんだ〜?」と悩んでいたところ、以下の様な周りの声が聞こえました。

「ここってWifi入らないんだよね〜?」

「ん?そーいえば、インターネットに接続していないな、エラーもなんかダウンロードできないとか言ってるし。。。」と気がついたので、環境を移し再度Webに接続後Gradleを実行したところ問題なく起動しました。

結論

インターネット環境のないところでGradleを起動しても動かない。

自分が使用しているものだけかもしれませんが、Mavenでもウェブ上からダウンロードしてくる様なものがあるときは当然動かないでしょう。。。


これにて一件落着。。。

でわでわ。。。

[rakuten ids="hmvjapan:17264637"]







Eclipse Gluon 〜Task ‘run’ not found in root project〜

表題の様なエラーが出てアプリケーションが動かなくなりました。

作成したプロジェクトをGitに公開したら動かなくなった。。。

  1. 自分の端末上で動いたのを確認したのでGitへPUSH
  2. 再度アプリを起動

こんな手順で起動したら動かなくなりました。下の様なエラーメッセージです。

org.gradle.internal.exceptions.LocationAwareException: Task 'run' not found in root project

エラーは下の様なGradle Executionビューの赤い部分(これは直した後なので緑です。。。)

ここの赤くなっている部分を右クリックするとエラーメッセージを見ることができます。

現状では、エラーがないので下の様になります。

肝心の解決策

上の様な画面にてエラーがあったGradleプロジェクトを右クリック

※今回jはJankenGameプロジェクトを右クリックしました。
 Gradleで生成されるプロジェクトは「XXX」と「XXXApp」プロジェクトの2つが
 あるので「XXX」プロジェクトを右クリック→Propertiesを選択する

そうしてGradleタスクのrunを起動すると治りました。









Java Maven 〜POMファイルの${xxx.xxx}の値〜

「{$XXX.XXX}」の値に関して

以下のPOMファイルの赤い字の部分の値は何を指すのかわかりませんでした。

  <build>  ....  </build>
  <dependencies>
   <dependency>
      <groupId>org.nd4j</groupId>
      <artifactId>nd4j-native-platform</artifactId>
      <version>${nd4j.version}</version>
    </dependency>
</dependencies>

{$XXX.XXX}の様な記載はどこかのプロパティを参照するのはわかっていたのですが、プロジェクトが大きくなるとどこにそのプロパティがあるかわからなくなります。今回はND4Jを使用してプロジェクトを作成していたのでその時に気がつきましたのでここにメモしておきます。

MavenBuildのエラー

[ERROR] 'dependencies.dependency.version'
        for org.nd4j:nd4j-native-platform:jar
      must be a valid version but is 
        '${nd4j.version}'. @ line 40, column 15

 上の様な絵エラーが出てビルドができませんでした。そしてうまくいく方との比較で以下の記載がないことに気がつきました。

  <properties>
   <nd4j.version>0.9.1</nd4j.version>
  </properties>

なんとかビルドに成功。

つまるところ。。。

POMファイルの参照関係(親子関係)のあるファイル内に「${XXX.XXX}」が存在するはず、大きいプロジェクトの時はJARなどのファイル内にあるかも?

[rakuten ids="scbmitsuokun1972:10006363"]









Java Properties 〜プロパティファイルが読めない〜

プロパティファイルの値が文字化ける

読み込んだプロパティファイルの値が文字化けました。

対応

  1. プロパティファイルをUTF-8に設定する
    IntelliJ: ファイル→Setting→Editor→File Encodingで「UTF-8」に設定する。

    Eclipse: プロパティ―ファイルを右クリック、プロパティで「UTF-8」に設定する

  2. プロパティファイル読み込み処理でUTF-8を指定する

    InputStream in = getClass().getResourceAsStream("setting.properties");
    prop.load(new InputStreamReader(in, "UTF-8"));

プロパティファイルのロードができない!

こんな感じでつまづきました。

<ソース>

Properties prop = new Properties();
try {
 prop.load(getClass().getResourceAsStream(PROPERTIES_FILE_PATH));
} catch (IOException ie) {
ie.printStackTrace();
System.exit(-1);
}

このソースで「PROPERTIES_FILE_PATH」に「resources/views.properties」と指定していたのですが、ロードできない。。。

PROPERTIES_FILE_PATH = "resources/views.properties";

「views.properties」でもダメだった。。。

PROPERTIES_FILE_PATH = "views.properties";

#### 対応
/views.properties」ならオッケーだった。「/」がたりなかったのね。。。
ちゃんちゃん(笑)