現在Java Spring Bootでのアプリ作りをしているのですが、ある日Entityが表示されなくなってしまいました。
添付の図の通り、Report.javaしかcom.example.demo.entityのパッケージ内に表示されていませんが、以前は同パッケージ内にUser.javaというファイルも表示されていました。
最初はUser.javaファイルが消えてしまったと思ったので、com.example.demo.entityのパッケージで右クリックをしてファイルを新規作成しようとしました。
しかし、Userという名前でファイルを作ろうとすると、“Type with same name but different case exists.”というエラーが出てきてしまい、それ以上先に進めません。
おかしいなと思い、Git Bashのls commandでパッケージ内のファイルを確認してみたのですが、このコマンドではUser.javaファイルは表示されており、ファイル自体は存在しているようです。
ここで最初の疑問に戻るのですが、なぜSpring Tool SuiteではUser.javaファイルが表示されないのでしょうか?(添付画像1枚目参照)
現時点では、思い当たる原因としてはGitのもう1つのブランチです。現在取り組んでいるのは大学での課題なのですが、僕には大学で登録されているGitアカウントと個人で登録しているGitHubアカウントの2つがあります。
※注※
最初は大学のGitアカウントしか使っていなかったのですが、どういうわけかgit pullが上手く機能しておらず、先生も原因がわからず直せませんでした。先生は僕のCommitやpullしたフォルダやファイルは全て見る事ができていたので、少なくともCommitやpullは機能しているようです。また、最終Commitをもって「課題の提出」とみなされるので、大学のGitの方を使うのは必須です。
プロジェクトのバックアップを取りたかったので、大学のGitと個人GitHubのアカウントの間を行ったり来たりするというやり方で進めてきました。なので、commitやpushをするたびに下記のようなプロセスを踏んでいました。
→大学のGitにcommitとpush (main-branch)
→大学のGit(main-branch)から個人GitHubにスイッチ(master)
→remote URLを大学のGitから個人GitHubへスイッチ
→個人GitHubにGitにcommitとpush (master)
→大学のGitのブランチとRemote URLに戻る
最後に大学のGitから個人GitHubアカウントにスイッチしようとした時は、「User.javaを削除するか移動させなければmasterブランチに戻る事はできません。ファイル内容が上書きされてしまいます。」みたいなエラーがGitBashのコマンド上で出てしまい、スイッチできませんでした。
User.javaはファイルの内容はシンプルでしたし、Googleドキュメントでコードのバックアップもとっておいたので、別に一時的に消しちゃってもいいかなと思って応急処置的に削除したのですが、そしたらようやくmaster branchに戻ってこれました。そこで最初にも述べたようにUser.javaがEntityのパッケージ内で表示されなくなっていた、という状況です。
この「master branch(個人GitHub)からmain-branch(大学のGit)に戻る前にUser.javaファイルを削除した」というのが問題だったのでしょうか?だとしたら、代わりにどうすればよかったのでしょうか?(Mergeはしようとしたのですができませんでした)
また、この時点からUser.javaがもう一度Spring Tool SuiteのEntityパッケージ内でまた表示されるようになるためにはどうすればいいでしょうか・
ちなみにOSはWindows 10を使っています。
大学のGitの方で最終Pushはしたので課題自体はできているのですが、オンライン上でのプロジェクトのバックアップも欲しいのでなんとかして個人GitHubでもPushできる状態にしたいです。大学のGitアカウントは卒業したらその後はアクセス権限がなくなってしまうので…。
回答1件
あなたの回答
tips
プレビュー