Google AIY Voice Kit’s, Google Assistant API Authorization, For the Second

This article assumes that you already created a project for this AIY Voice Kit and made enable to use Google Assistant API , and created OAuth 2.0 client ID.

  1. Download the credential JSON file from your GCP account (your Voice Kit project).
    To do this, go to https://console.cloud.google.com and select your Voice Kit project from drop down menu bar that just next to the “Google Cloud Platform” letters which is the top position of your browser. After this, go to API & Services page, using search window, where is the center of the top bar. Type “API & Services” and click the drop down result. And click Credentials of left side menu. Check your Voice Kit project fnom OAuth 2.0 client IDs list. And Download the client_secret JSON file.
  2. Copy the content of the client_secret JSON file to your Raspberry Pi Zero AIY Voice Kit. The path and file name is ~/assistant.json of your Raspberry Pi Zero AIY Voice Kit. To do this. access to your Raspberry Pi Zero through ssh command from your Terminal. And make assistant.json file using touch command. Or Nano, Vi. Copy the contents of client_secret JSON file from your computer, and paste it to the ~/assistant.json file and save it by your text editor. You can do this through SSH connection.
  3. Launch ~/AIY-projects-python/src/examples/voice/assistant_grpc_demo.py python script and authorize your Voice Kit to the GCP project. After launch the python script, it outputs URL to authorization. So go to the URL using web browser and login to your Google Account. It will outputs the code to authorize your Voice Kit. Copy the code and paste it to the python script output after “Enter the authorization code: ” prompt.

That’s all you have to do to authorize your Voice Kit for the second.

Google AIY (Raspberry Pi Zero WH) のVNC接続(モニターシェア)

AIY、ずっと放置していたが、「Linuxサーバーがゼロから作れる本」を読んで、サーバー化したくなった。

なんとなくAIYのpythonプログラムの書くほうも挑戦したくなった。

デスクトップ画面をMacから見れるようにする所から始めた。

OSはraspbianが入ってみたいだ。

tightvncserverを少々苦戦しながらインストールし、今回は大成功。

これでSSH接続からだとフリーズしていたaiyスクリプト、常時使えるようになつた。

iMacのSDD増設にまつわるトラブル

SSDの換装は、今回が三台目、だけど相手はimac、気は抜けない。

 

ファンコントロールのセンサー対策してあるケーブル買ってから、しばらくたったな。

増設用のケーブル、amazonusから買って、届いてちょうど3ヶ月くらい放置していた。

https://smile.amazon.com/gp/product/B00BJAKBMM/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

Instllation video

https://www.youtube.com/watch?v=03Lg4IgJd04

で作業は終えて、どきどきの瞬間、「起動 ジャーーン」

何が起きたか?

事故が重なったのか、ファンが暴走する、ディスプレイが写らない。

ファンの暴走は、サポートに問い合わせてみたところ、テクニカルサポートに報告するよう言われた。

初期不良の可能性があると思った。

ディスプレイの写らない原因は、もともと破損気味だったLCDフラットケーブルが断線下のではないかと思う。ただ確証はない。それがまた心労になる。

しかも交換品買うとしたらアメリカのamazonからの取り寄せになる。

1、2,3週間配送にかかるかで、料金が変わってくる。

2000円、1500円、1000円くらいか。

どうしようか迷うな。

サポートの返信着てから考えるか。

imacのメンテナンスでは、ブートディスク壊れたことが二回あるし、メモリも一個壊れたことがある。GPUも二回壊れて、リフローで直せたけど、再発する可能性が高い。

前は最初のリフローから一年くらいもった。二回目はいまで4ヶ月くらいもっているのかな。

パソコン4台持っていて、デュアルブートいれると、7つもOSのメンテしていることになるなぁ。
またiMacのem-pちゃん、手間取らせてくれるでざんす。

Linuxカーネルのメモ 自主コンパイル (Linux From Scratch)など

いつか、カーネルをコンパイルして、ビルドして見たいと思っている。

面白いサイトを「日経リナックス 絶対わかる!Linuxカーネル完全入門」を読んでいて、見つけた。p164ページに載っていた。小さくて、我ながら目ざとい。w

日本語訳はこちら

http://lfsbookja.osdn.jp/

 

プログラミング言語goのインストール、他メモ

MacOS版をダウンロードしたが、ターミナルから起動できなかった。調べ見ると、パスが通っていなかったようだ。

ルートから ./usr/local/go/bin/go

で起動できた。

PATH=”/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/masa/bin:/Users/masa/bin_test:/Users/masa/Code/ProtoTypes:/Users/masa/Code/Bash/youtube-dl_customs:/usr/local/go/bin”

以上のように、pathを追加して、goと入力するだけで起動できるようにした。

https://golang.org/doc/install?download=go1.12.5.darwin-amd64.pkg

 

Goって案外システムプログラミングに対応した、低レベルの言語なのか。

C++とアセンブラで書かれているよう。

作者はC++嫌いって言ってたな。笑

 

DVDのリッピングと書き込み

DVDのリッピングデータ(ちょっと違法なんけ?てか違法にちょっとも大分もないか)をDVDに、DVDプレーヤーで再生できる形式で書き込みする方法を調べていた。

今回もWindowsの限界まで怪しくなってしまった世界を垣間見た。

すぐにヒットしたページは商業会社によって運営されていたし、リンク先のソフトも、ウィルスソフトで引っかかるような怪しいものだった。

はぁ、LINUXで使ったことあるk3bはWindows版ないようだ。これはISOファイルじゃなくても焼けたっけな?

なんか一度ISOファイルに変換して焼かないといけない模様。

imgtool classicというソフトを使って変換したあとdvddecrypterで焼こうかな。定番みたい。

令和元年5月、6月の開発用メモ

190514

現行版はリストmp3が壊れている (jaydle project)に入っているやつ
階層一番上のものはバッチリっぽい
でも編集機能付いてなかったからだめだ
いやそれはjmmを使うことになってるんだった。

0521火曜日
Public には替えのプロジェクトない
gitディレクトリのが最新なのかな。

Share/share-workspace にもjaydle-projectがあった。
3/8になってる
Error: Could not find or load main class jaydle.Main
となって走らない

jaydleのファイル復習。
正規表現やら、移植やら、スレッドやら、javaならではの大変さ、よくやっているなと思う。これまとめて公開しないと。

Antビルドの件
build.xmlの
<property name=”main-class” location=”Main”/>
がよくわからんな。

いやそれは関係なくて、antの実行、外部ツールから、JREの設定、ワークスペースと同じものつかうにチェックで解決!

Shareにバックアップ取った。そういえば前のバックアップってどこいったんだろ

今度は、二回目のランでエラーでた
クローンしたのもエラーでた
antのプリント見つからない
xmlはプリントアウトした

0528火曜
ビルドはできるようになった。ecjを使って。
でも今度は依存jarをインポートできていない。
jaydleのListMp3FilesとJMMが動かない。
Eclipseから実行だと動く。
EclipseはReferencedLibraryディレクトリのjarを読み込んで、実行可能Jarをビルドしている。そして依存jarを含んでjarを作っている。
Ant版はそれをしていない。
build-auto-by-eclipse-export.xmlのビルドも使えた。
実行可能Jarを作るとき、依存するライブラリをJarにコピーしないといけない。
あとJaydle.jarとJMM.jarの中身がほぼ同じで、Mainだけが違うっぽい。
QiitaのAnt超入門は、Jarが実行可能形式ではない。
Jarの作り方をまた洗わないといけない。
Jarのエントリポイントってなんだ?

6月12日水曜

Mac OSでも作業できるようにShareパーティションにJaydle Workspaceを作った。

antで実行可能jarを作る時、ライブラリのコピーが必要だと思うけど、その辺りの資料なかなか見つからない。公式チュートリアルになっていたかも。

190613 Thu

Still about making a executable jar file using Ant.

Read oreilly’s eclipse book about ant, and official ant page’s top page .

I should read man page of ant and jar. And my blog pages organized about Jaydle, Java, eclipse, ant and etc.

190614 Fri

Changed MacOS eclipse color scheme to classic and indentation to use nextline instead of sameline.

  • Made “Eclipse Workspace” directory in Share partition
  • Made a training project there
  • Eclipse configuration in MacOS (Color scheme, indentation)

 

  1. Make jar file of my utilities
  2. Make executable jar file using Ant (Resolve import error)
  3. Make clear importing process of external jar files
  4. Make Jaydle source code clean and prepare JavaDoc

 

  1. Make jar file of my utilities

I have to determine package name.

MyUtil using mp3agic, so have to solve dependency problem.

 

2.Make executable jar file using Ant (Resolve import error)

Jar file is a archive of class files. so copy this to executable jar and import class files.

190617

Musicbrainz Picard could retagging downloaded MP3 data from their database , but it was a few.

Clouddead – Dead dogs two (BOC Remix)

Common feat Pharrel – Universal mind control

Real love, Can we talk were not found.

LastFM also has database and free API I heard.

Javaのコンパイル・Jarの作成・Antなどのビルドツール・Eclipseのビルド まとめ

AntでEclipseで作ったプロジェクトのビルドファイルを書いていて、いままでのビルド系の記事をまとめて見ることにした。

自分は実行可能JarをAntで作っていて、依存ライブラリのコピーが必要なことを忘れていた。

 

Antを使って実行可能Jarをビルドする(EclipseのJava Compilerを使って)

この記事は、自分のアプリ、「Jaydle」のビルドスクリプトをMavenではなく、古風にAntで作成して、それを一度Githubにアップして、それをダウンロードして、antのXMLスクリプトの動作をチェックしていたときに、出くわしたエラーと、その解決方法を起こった順に書いたものだ。

いろいろな機材やソフトのトラブルに出くわし、加筆している現在(令和元年12月14日土曜日)は、メイン機が起動できなくて、antスクリプトがどこまで書けたかも、ちょっとノートやコードの確認がいる。そんなコーディング離れないまだから、こうやってこの記事を加筆しているのだが。

ちなみにantに関連する書籍については「Javaプログラミングツールズ① Apache Ant 関口宏司著 技術評論社 2004年」を入手した。なかなか難しい語り口で、工学の邦・数学書を感じさせる。特に解析学や、数値計算または数値解析のほうが近いかもしれない。あとは3Dグラフィックスとか、いわゆる院生以上を対象としたような語り口。

あとはWebでAntのオフィシャルサイトのチュートリアルを試してみたり、日本語で”Antで実行可能Jarを作成する”という検索でヒットしたサイトの記述をよく読んでみたりした(このあたりはまた記憶を整理しないといけない)。

Githubからantビルドスクリプトの動作を、ターミナルのコマンドラインからantコマンドで、どのように動作するかをテストする。

zipをクローンして、解凍して、そのフォルダにターミナルで移動した。

antコマンドのあとに、Tabキーを二回たたき、入力の候補を表示させた。

Compile Initialize MakeJar Run

という選択肢がでている。自分がEclipseで書いたantのbuild.xmlファイルを読み込んでいるからだと思う。

ここでいきなり

ant MakeJar

という、自分の作ったアプリ「Jaydle」の実行可能Jarをビルドするためのコマンド(ターゲット)を試した。(非推奨:こういうときは、一番初歩の、簡単なターゲットやタスクから試すべきだと思う。数学の分割統治法(divide and conquer method)の要領がいい。wikipedia link 詳しくはコンピュータの数学という本の80ページに記述がある。しかし、こういう複雑な事態で物事をとばすとどれくらい面倒になるかは、1.1ハノイの塔を読むといいと思う。この分割統治法はすごく重要な概念だ。)

その結果 ant MakeJarだと、Initializeを含んでいなくて、スクリプトの実行に必要なフォルダー(ディレクトリー)が生成できていない。

masa@em-p:~/Downloads/jaydle-project-clean_antbuild$ ant MakeJar 
Buildfile: /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml

MakeJar:

BUILD FAILED
/home/masa/Downloads/jaydle-project-clean_antbuild/build.xml:49: /home/masa/Downloads/jaydle-project-clean_antbuild/bin does not exist.

Total time: 0 seconds

抜粋

BUILD FAILED /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml:49: /home/masa/Downloads/jaydle-project-clean_antbuild/bin does not exist

最後の does not exist というのは、「ビルドに使う、指定されたフォルダが見つかりませんでした。」というエラー。

たぶん興奮していて、簡単だけど、重要なところを飛ばしていたようだ。
次のantコマンドの実行のときも、飛ばし気味に、MakeJarターゲットに、InitializeターゲットとCompileターゲットを含めるように修正した、修正版MakeJarタスクを実行したようだ。

Initializeはうまくいった。でもCompileはうまくいかなかった。

Buildfile: /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml

Initialize:
   [delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/bin
   [delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/jar
    [mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/bin
    [mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/jar

Compile:
    [javac] Since compiler setting isn't classic or modern, ignoring fork setting.

BUILD FAILED
/home/masa/Downloads/jaydle-project-clean_antbuild/build.xml:43: Class not found: org.eclipse.jdt.core.JDTCompilerAdapter

Total time: 0 seconds

上記antからのメッセージの抜粋

Initialize:
[delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/bin [delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/jar
[mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/bin
[mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/jar

Initializeターゲットの命令は、

ビルドに必要なフォルダーを、もうすでに存在していれば、一度削除して、古いファイルを消去して、もう一度新しく、同じ名前のフォルダーを作成する。もしなければ、ただ指定された名前のフォルダーを作成する。というもので、メッセージは、それがうまくいったといっている。

上記antからのメッセージの抜粋

Compile: [javac] Since compiler setting isn’t classic or modern, ignoring fork setting. BUILD FAILED /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml:43: Class not found: org.eclipse.jdt.core.JDTCompilerAdapter

というエラーがでた。Eclipseでも同様のエラーが出たが、Antの外部ツール設定でワークスペースと同じJREを使うようにしたら解決した。

今度はどうすればいいのだろう。

 

Eclipseで確認すると、一回目はビルドできるけど、二回目にエラーが出る

Ant build /home/masa/Public/git/jaydle-project/build.xml already in progress. Concurrent Ant builds are possible if you specify to build in a separate JRE.

昨日はできてなかったけな。てか、ハマってたエラー、スタックオーバーフローで質問していて、自分で解答していた。完全に忘れてた。はは。

あとターゲットの”Main Build”がターミナルで選べないのはなんでなんだろう。

 

Eclipseの話に戻ると、これはEclipse再起動で直った。でもMain Buildをするとまた再発。

なんかビルドが終わっていないらしい。

参考(英語)

https://groups.google.com/forum/#!topic/codenameone-discussions/ySxwDy4WzHo

 

実行をすると、Antが終了しないようだ。

話はもどって、

buiild.xmlを見ていると、compileのとこに

<ecj />

でecjの宣言を参照させていなかった。

この一行を追加で

<target name="Compile" depends="Initialize">
<javac 
classpathref="classpath" 
srcdir="${src}" 
destdir="${bin}" 
compiler="org.eclipse.jdt.core.JDTCompilerAdapter"

includeantruntime="false"
source="1.8"
target="1.8"
fork="true" 
debug="true" 
>
<ecj />
<compilerarg value="-Xdiags:verbose"/>
</javac>
</target>
masa@em-p:~/Downloads/jaydle-project-clean_antbuild$ ant Compile 
Buildfile: /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml

Initialize:
   [delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/bin
   [delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/jar
    [mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/bin
    [mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/jar

Compile:
    [javac] Since compiler setting isn't classic or modern, ignoring fork setting.
    [javac] Since compiler setting isn't classic or modern, ignoring fork setting.
    [javac] Compiling 6 source files to /home/masa/Downloads/jaydle-project-clean_antbuild/bin
    [javac] Since compiler setting isn't classic or modern, ignoring fork setting.
    [javac] org.eclipse.jdt.internal.compiler.problem.AbortCompilation: 
    [javac] 	at org.eclipse.jdt.internal.compiler.batch.Main.initializeAnnotationProcessorManager(Main.java:4559)
    [javac] 	at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(Main.java:4669)
    [javac] 	at org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1773)
    [javac] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [javac] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [javac] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [javac] 	at java.lang.reflect.Method.invoke(Method.java:498)
    [javac] 	at org.eclipse.jdt.core.JDTCompilerAdapter.execute(JDTCompilerAdapter.java:80)
    [javac] 	at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1160)
    [javac] 	at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:936)
    [javac] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
    [javac] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [javac] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [javac] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [javac] 	at java.lang.reflect.Method.invoke(Method.java:498)
    [javac] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac] 	at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac] 	at org.apache.tools.ant.Target.execute(Target.java:435)
    [javac] 	at org.apache.tools.ant.Target.performTasks(Target.java:456)
    [javac] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
    [javac] 	at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
    [javac] 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [javac] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
    [javac] 	at org.apache.tools.ant.Main.runBuild(Main.java:853)
    [javac] 	at org.apache.tools.ant.Main.startAnt(Main.java:235)
    [javac] 	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
    [javac] 	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
    [javac] Unable to load annotation processing manager org.eclipse.jdt.internal.compiler.apt.dispatch.BatchAnnotationProcessorManager from classpath.
    [javac] 

BUILD FAILED
/home/masa/Downloads/jaydle-project-clean_antbuild/build.xml:43: Compile failed; see the compiler error output for details.

Total time: 1 second

と、ClassFileNotFoundエラーは超えられたみたい。でもまだエラー出てる。

Unable to load annotation processing manager org.eclipse.jdt.internal.compiler.apt.dispatch.BatchAnnotationProcessorManager from classpath.

aptパッケージ自体が、org.eclipse.jdt.core_3.13.102.v20180330-0919.jarに入っていないよう。

今回の設定だと、スルーしてくれずビルドフェイルになっているよう。

参考

https://bugs.eclipse.org/bugs/show_bug.cgi?id=478427

EclipseからJarコピーアンドペーストして使っていたけど、aptパッケージがないので、ecj.jarを使おう。

https://mvnrepository.com/artifact/org.eclipse.jdt.core.compiler/ecj/4.6.1

このjarにはaptパッケージがあった。

とりあえず、ecj.jarをant-libにコピーしたら

masa@em-p:~/Downloads/jaydle-project-clean_antbuild$ ant Compile 
Buildfile: /home/masa/Downloads/jaydle-project-clean_antbuild/build.xml

Initialize:
[delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/bin
[delete] Deleting directory /home/masa/Downloads/jaydle-project-clean_antbuild/jar
[mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/bin
[mkdir] Created dir: /home/masa/Downloads/jaydle-project-clean_antbuild/jar

Compile:
[javac] Since compiler setting isn't classic or modern, ignoring fork setting.
[javac] Since compiler setting isn't classic or modern, ignoring fork setting.
[javac] Compiling 6 source files to /home/masa/Downloads/jaydle-project-clean_antbuild/bin
[javac] Since compiler setting isn't classic or modern, ignoring fork setting.
[javac] ----------
[javac] 1. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 3)
[javac] import java.util.ArrayList;
[javac] ^^^^^^^^^^^^^^^^^^^
[javac] The import java.util.ArrayList is never used
[javac] ----------
[javac] 2. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 5)
[javac] import java.util.List;
[javac] ^^^^^^^^^^^^^^
[javac] The import java.util.List is never used
[javac] ----------
[javac] 3. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 22)
[javac] import static jaydle.BackgroundTask.*;
[javac] ^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.BackgroundTask is never used
[javac] ----------
[javac] 4. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 25)
[javac] public class Id3Tagger extends JFrame
[javac] ^^^^^^^^^
[javac] The serializable class Id3Tagger does not declare a static final serialVersionUID field of type long
[javac] ----------
[javac] 5. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 32)
[javac] private boolean DEBUG = true; 
[javac] ^^^^^
[javac] The value of the field Id3Tagger.DEBUG is not used
[javac] ----------
[javac] 6. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Id3Tagger.java (at line 49)
[javac] Matcher matcher=pattern.matcher(TargetText);
[javac] ^^^^^^^
[javac] The value of the local variable matcher is not used
[javac] ----------
[javac] ----------
[javac] 7. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 7)
[javac] import java.util.ArrayList;
[javac] ^^^^^^^^^^^^^^^^^^^
[javac] The import java.util.ArrayList is never used
[javac] ----------
[javac] 8. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 8)
[javac] import java.util.Arrays;
[javac] ^^^^^^^^^^^^^^^^
[javac] The import java.util.Arrays is never used
[javac] ----------
[javac] 9. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 10)
[javac] import java.util.regex.Matcher;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import java.util.regex.Matcher is never used
[javac] ----------
[javac] 10. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 11)
[javac] import java.util.regex.Pattern;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import java.util.regex.Pattern is never used
[javac] ----------
[javac] 11. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 14)
[javac] import com.mpatric.mp3agic.ID3v2;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import com.mpatric.mp3agic.ID3v2 is never used
[javac] ----------
[javac] 12. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 15)
[javac] import com.mpatric.mp3agic.Mp3File;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import com.mpatric.mp3agic.Mp3File is never used
[javac] ----------
[javac] 13. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 17)
[javac] import jaydle.JaydlePrototype.ButtonListener;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.JaydlePrototype.ButtonListener is never used
[javac] ----------
[javac] 14. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 21)
[javac] import static jaydle.BackgroundTask.*;
[javac] ^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.BackgroundTask is never used
[javac] ----------
[javac] 15. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydleMusicManager.java (at line 47)
[javac] private boolean DEBUG = true; 
[javac] ^^^^^
[javac] The value of the field JaydleMusicManager.DEBUG is not used
[javac] ----------
[javac] ----------
[javac] 16. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydlePrototype.java (at line 31)
[javac] public class JaydlePrototype extends JFrame 
[javac] ^^^^^^^^^^^^^^^
[javac] The serializable class JaydlePrototype does not declare a static final serialVersionUID field of type long
[javac] ----------
[javac] 17. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/JaydlePrototype.java (at line 119)
[javac] public static class saveDirClass implements Serializable // Named as serObj instance 
[javac] ^^^^^^^^^^^^
[javac] The serializable class saveDirClass does not declare a static final serialVersionUID field of type long
[javac] ----------
[javac] ----------
[javac] 18. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Main.java (at line 4)
[javac] import static jaydle.JaydlePrototype.*;
[javac] ^^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.JaydlePrototype is never used
[javac] ----------
[javac] 19. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Main.java (at line 5)
[javac] import static jaydle.BackgroundTask.*;
[javac] ^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.BackgroundTask is never used
[javac] ----------
[javac] ----------
[javac] 20. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Utilities.java (at line 2)
[javac] import static jaydle.Utilities.println;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.Utilities.println is never used
[javac] ----------
[javac] 21. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Utilities.java (at line 3)
[javac] import static jaydle.Utilities.regexFilterFileArray;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.Utilities.regexFilterFileArray is never used
[javac] ----------
[javac] 22. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Utilities.java (at line 4)
[javac] import static jaydle.Utilities.regexFilterList;
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] The import jaydle.Utilities.regexFilterList is never used
[javac] ----------
[javac] 23. WARNING in /home/masa/Downloads/jaydle-project-clean_antbuild/src/jaydle/Utilities.java (at line 134)
[javac] ObjectInputStream ois = new ObjectInputStream(fis);
[javac] ^^^
[javac] Resource leak: 'ois' is never closed
[javac] ----------
[javac] 23 problems (23 warnings)

BUILD SUCCESSFUL
Total time: 1 second

成功した!

ちなみに、Eclipseのjarコピーしていた時は、jdtCompilerAdapter.jarをjarからコピーして、ant-lib直下に置いていたけど、ecj.jarを使えば、ecj.jarだけで通るみたい。

コンパイルとJarの作成はうまくいったけど、JMMで実行時エラーでてるな。実行時じゃなくてClassNotFoundExceptionだな。

 [java] Exception in thread "main" java.lang.NoClassDefFoundError: com/mpatric/mp3agic/Mp3File
[java] at jaydle.Utilities.makeMp3TagTable3Rows(Utilities.java:287)
[java] at jaydle.JaydleMusicManager.initTable(JaydleMusicManager.java:73)
[java] at jaydle.JaydleMusicManager.main(JaydleMusicManager.java:171)
[java] Caused by: java.lang.ClassNotFoundException: com.mpatric.mp3agic.Mp3File
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[java] ... 3 more