20210405のJavaに関する記事は4件です。

java.lang.LayerInstantiationExceptionが現れた。これは何?

問題の発端は上記。何が問題だろう。 まずはエラー内容から見てみましょう。 Error occurred during initialization of boot layer java.lang.LayerInstantiationException: Class loader (instance of): 'app' tried to define prohibited package name: java.basic._01 1.java.lang.LayerInstantiationException の意味は? https://docs.oracle.com/javase/jp/9/docs/api/java/lang/LayerInstantiationException.html 公式ドキュメント曰く、 分からんことを言っている。 2.Exceptionの傍のメッセージを読んでみよう。 Class loader (instance of): 'app' tried to define prohibited package name: java.basic._01 何かパッケージ名の問題がある!と言っているようで、 パッケージ名をjava.basic._01 から study.basic._01を変えてみた。 作動するーー! 数字でpakage名を入力すると、eclipseからすぐエラーメッセージと共に止められたが、javaで始まるパッケージ名は止めてくれない。なぜなら javaでもう標準APIとしてjava.xxx.xxxを使っているため。 今後注意しようー!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

android ボタンを押すとテキストを変える実装

ただのリハビリ備忘録です。 学生時代に触っていたAndroidStudioをを久しぶりに触る 2.x系時代にしか触ってなかったもんで久しぶりにみたら4.x系になってびっくりです。 そんな話は置いておいて久しぶりにAndroidStudio触ったらものの見事に色々忘れているので思い出していく。3、4年ぶりでリハビリ〜〜。 とりあずjavaで書いていきます。(kotolinはわかりません) アプリの作り方などの細かい設定は省略します。 初期MainActivity シュミレータ側の初期画面 プロジェクトを生成したら最初からHelloWorld!!が出力されるようになっています。 初期レイアウト画面 android/res/layout/activity_main.xml ボタン実装 先程のレイアウト画面からボタンを設定していきましょう。 GUIからボタンを配置することも可能ですし、コードで直接書くこともできます。 私は全く覚えていないのでGUIからやっていきます ボタンを配置 シュミレータ画面 MainActivityにボタンの設定を書いていく 下記がボタンを呼び出す宣言文です。 Button button = findViewById(R.id.button); 自分で書いてて何これってなったんで、1つずつ意味を調べたら下記のようになった。 Button型 変数名 = ボタンが定義されているレイアウト(レイアウトで定義したボタンのid名) ボタンのidを定義 ボタンをタップした状態を判定してテキストを変化させる 利用するのは下記4つ OnClickListener()::ボタンを押したぞ判定を行う TextViewコンポーネント::テキストを表示させる booleanの変数 ::ボタンを変化でifを使ってテキストをだし分ける 実際にダァーっと書いたらこんな感じ *一応onClick()はラムダでもかけるらしい すげー進化してるー! 実際に動かしてみるとこんな感じ まとめ プロジェクト作成 ボタンをレイアウトから作成  MainActivityにボタンの型とfindViewByIdを定義 ボタンのOnclickリスナー定義 ボタン変更に必要な変数と、textViewコンポーネントを定義 思ったことをベラベラと書いてしまった。まぁ自分がみるからいいのだが。。。。。なげぇ。。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Maven 3.8.1 で mvn install 出来ない(maven-default-http-blocker)されたメモ

何が起きたか mvn install が実行できず、以下のようなエラーメッセージが表示された。 [ERROR] Failed to execute goal on project test: Could not resolve dependencies for project xxx: Failed to collect dependencies at my.test:dependency:version -> my.test.transitive:transitive:version: Failed to read artifact descriptor for my.test.transitive:transitive:jar:version: Could not transfer artifact my.test.transitive:transitive:pom:version from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [blocked-repository-id (http://blocked.repository.org, default, releases+snapshots)] Maven 3.8.1リリースノートより これは例だがおおむねこんな内容であった。 原因 maven-default-http-blocker で検索したところ、上記のリリースノートが引っかかる。 このバージョンで Block external HTTP repositories by default が取り込まれたようで、pom.xml の repository に http://example.com のような HTTP での指定がデフォルトでブロックされるようになったようである。 Release Date が 2021-04-04 となっているのでこの記事を書いている時点ではかなり新しい。 解決策 指定 repository を HTTPS 対応するか、設定をいじるか。 あまりよくないのかもしれないが、急ぎで使えるようにする必要があったのでワークアラウンド的な対応をした。 ${user.home}/.m2/settings.xml(環境によって違うかも) <settings> ... <mirrors> <!-- ここをコメントアウトする <mirror> <id>maven-default-http-blocker</id> <mirrorOf>external:http*</mirrorOf> <name>Pseudo repository to mirror external repositories initially using HTTP.</name> <url>http://0.0.0.0/</url> <blocked>true</blocked> </mirror> --> </mirrors> ... </settings> とりあえず mvn install 出来るようになった。根本的な対応は後で考えよう……。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

AWSでWebアプリをデプロイする方法(Java)④

EC2インスタンスの作成 Webサーバーとして使う場合は、S3ではなくEC2インスタンスにApacheをインストールし、Webサーバーとして使います。 利用環境 OS:MacOS ブラウザ:Chrome 前提条件 ユーザーの追加が完了している状態 まだ、ユーザーの追加していない方はこちら EC2ダッシュボードを開いてリージョンを確認する [サービス]メニューまたはホーム画面で「EC2」を検索し、見つかったEC2を選択 右上のリージョンが「東京」となっていることを確認する EC2インスタンスを作成する インスタンスメニューを開く 画面の左側の[インスタンス]を選択 インスタンスを作成する 画面右上部のオレンジ色の[インスタンスを起動]を選択 AMIを選択する 「Amazon Linux 2 AMI 64 ビット (x86)」にチェックを入れ、[選択]を選択 インスタンスタイプを選択する 「t2.micro」にチェックを入れ、[次のステップ:インスタンスの詳細の設定]を選択 VPCトサブネットを選択する 下記のように(デフォルトの状態)入力し、[次のステップ:ストレージの追加]を選択 ストレージの追加 下記のように(デフォルトの状態)入力し、[次のステップ:タグの追加]を選択 タグの追加 EC2インスタンスに任意のタグをつけられます。タグは検索やグループ化するときに使う値です。最低限、「EC2インスタンスの名称」だけは、設定しておく [クリックしてNameタグを追加します]を選択 キーに「Name」、値に「WebAppServer」を入力し、[次のステップ:セキュリティグループの設定]を選択 セキュリティグループの設定 下記のように入力し、[確認と作成]を選択 設定の確認 下記のようになっていれば、[起動]を選択 キーペアの作成 [新しいキーペアの作成]を選択し、キーペア名に「myserverkey」と入力。 [キーペアのダウンロード]を選択 ダウンロードが完了したら、[インスタンスの作成]を選択 インスタンスの起動を確認 インスタンスの作成には数分かかります。 右下の[インスタンスの表示]を選択 下記のようにインスタンスが「実行中」となっていれば成功です AWSでWebアプリをデプロイする方法⑤ SSHで接続する
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む