2017/12/18

【spring】no mapping found for http request with uri /spring mvc/ in dispatcherservlet with name 'dispatcher'

springで、「no mapping found for http request with uri /xxxx/ in dispatcherservlet with name 'dispatcher'」と出る場合は、[web.xml]で指定した[contextConfigLocation]でのspring設定xml内の、「<context:component-scan base-package="jp.co.xxx.springmvc" />」のパッケージ設定を疑うこと。

【eclipse】ロケーションがおかしくて、"クラスパス・エントリーはエクスポートまたは公開されません"と出る警告の対応

"クラスパス・エントリーはエクスポートまたは公開されません"とパッケージ・エクスプローラで警告されている場合は、警告文をダブルクリックすると対応のウインドウが表示されるので、「除去」で適用すると警告解消する。

【eclipse】「サーバ実行」の「サーバ」一覧からごみを消す方法

eclipseのサーバ実行で、サーバ一覧にゴミが残ってイライラしている人向け。

パッケージ・エクスプローラで、Serverからサーバを削除






ここから削除しても、サーバ実行ウインドウに残ってる…。

















こういうのでイライラする場合、以下の対応で消せる。

<ワークススぺ―ス>\.metadata\.plugins\org.eclipse.wst.server.core
の直下にある、「servers.xml」から該当箇所の削除。
同じく、「publish.xml」から該当箇所の削除。
さらに、【publish】フォルダ内で、「publish.xml」で削除した該当datファイルを削除。
同じく、「tmp-data.xml」から該当箇所の削除。
さらに、直下のフォルダで、「tmp-data.xml」で削除した該当フォルダを削除。

これで、スッキリ!

2017/11/30

line-bot-sdk-java忘備録

line-bot-sdk-javaで、いろいろ遊んだ時の引っかかった部分の忘備録


  • WebHook URLのSSLは、自己証明書でなくてきちんとした証明書でないとダメ。ただ無料SSL証明書「Let's Encrypt」でOK。今回は、「Let's Encrypt」を使うためIPアドレスではダメでドメイン名でないと取れないため、IPアドレス表記で行けるかは試してない。
  • Line DevelopersのChannel基本設定で、「WebHook URL」の接続確認がエラーになるのは、handleTextMessageEvent()でReplyMessage()を返してないため。空白でもいいので返すだけでも、エラーにならずに成功する。

AWS に Let's Encryptを入れる方法

AWSにLet'Encryptを入れる場合、詳細は、AWSのチュートリアルを見ると詳しくわかる。
【付録: Amazon Linux での Let's Encrypt と Certbot の使用】
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/SSL-on-an-instance.html#letsencrypt

ただし、ちょっと引っかかったところがあったので、注意点。
【注意点】
コマンド:sudo ./certbot-auto --debug
で、「virtualenv: command not found」エラーが発生した場合は、以下で対応。

【対応方法】

  1. 「virtualenv: command not found」エラーが発生したら、/usr/bin/virtualenvの実行コマンドが無い可能性があるため、/usr/bin/virtualenv-2.7とリンクする。
  2. リンクする前に/usr/bin/virtualenv-2.7が存在することを確認してから実施する。
  3. sudo update-alternatives –install /usr/bin/pip pip /usr/bin/pip-2.7 27
  4. sudo update-alternatives –install /usr/bin/virtualenv virtualenv /usr/bin/virtualenv-2.7 27
  5. 再度、コマンド実行

2017/11/28

tomcat8でmanager

使う用事があって、AWSにもともといれてあったTomcat7をTomcat8に変更したんだけど、managerページが表示されない…。
apacheと連携してたり、SSL対応させてたりしたので、そっちの問題かajaの設定でも間違ったかと思ったら、ローカルでしかアクセスできないように、IPアドレスでアクセス制限がデフォルトで入ってた!ガックシ…。
[/usr/share/tomcat8/manager/META-INF/context.xml]で、[allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"]の後ろに、[allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|xxx\.xxx\.xxx\.xxx"]と正規化での追加が必要となる。

2017/11/27

eclipse oxygen(4.7)とTomcat Plugin

Tomcat Plugin9.1.2(2016-09-21)は、eclipse oxygen(4.7)はeclipseマーケットプレイスでインストールできないため、sourceforge(https://sourceforge.net/projects/tomcatplugin/files/?source=navbar)で、ダウンロードして、[ヘルプ]→[新規ソフトウェアのインストール]でインストールすると吉。

eclipseとline-bot-sdk-java

eclipseで、githubからline-bot-sdk-javaをインポートしようとすると、2017年11月27日現在、2か所の壁がある。

1.Gitインポート→Gladleインポートで、Gradleインポート中にエラーが発生して、インポートエラーが発生する。

Gitインポートしたら、続けてGradleインポートするのではなく、[新規]→[Gradleプロジェクト]で、Gitから落としてきたフォルダを指定して、インポートするとうまくいく。

2.コンパイルエラーが発生する。

たぶん、[lombok]がインストールされていないのが原因(わたしはこれで半日潰した…)。
Eclipse:lombokインストール手順(http://web-dev.hatenablog.com/entry/eclipse/lombok)を参照してインストールで解決。