質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

受付中

Eclipse (STS4)でJavaのデバッグで「ソースが見つかりませんでした」のエラーを解決したい

milkcoffee
milkcoffee

総合スコア14

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

1回答

0評価

0クリップ

279閲覧

投稿2022/05/25 18:55

実現したいこと

Eclipse (STS4)でJavaのデバッグをする際に、「ソースが見つかりませんでした」とデバッグが停止してしまいます。
このエラーを防ぐにはどうしたらいいか教えてください。

発生している問題・エラーメッセージ

以下の部分にブレークポイントを置きデバッグをして、updateメソッドを通り過ぎると、エラーが出てきます。
その際に、「RootController$$FastClassBySpringCGLIB$$d14b0faf.inv」タブが出てきて、以下が表示されます。

@PutMapping("{id}") public ModelAndView update(@PathVariable Long id, @ModelAttribute InquiryForm inquiryform) { inquiryform.setId(id); * repository.save(inquiryform); return new ModelAndView("redirect:" + buildAdminRedirectUrl("/list")); }

・ソースが見つかりませんでした、のメッセージ
・「ソース・ルックバック・パスの編集」ボタン
- (クリックするとパスの編集画面が出てきます)

編集画面には

デフォルト

app

spring-boot-starter-thymeleaf
spring-boot-starter
spring-boot-starter-logging

などが出てきます。
(appはjavaアプリの名前です)

該当のソースコード

Java

package com.example.demo.controllers; import org.hibernate.cache.spi.support.AbstractReadWriteAccess.Item; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.DeleteMapping; import com.example.demo.models.InquiryForm; import com.example.demo.repositries.InquiryRepository; import ch.qos.logback.core.joran.spi.EventPlayer; import java.util.List; import javax.transaction.Transactional; import com.example.demo.controllers.RedirectUrlProperties; import lombok.RequiredArgsConstructor; import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/") @Transactional //roll back at exception handling @RequiredArgsConstructor //making constructor that taking initialized arguments for final field public class RootController { @Autowired InquiryRepository repository; public String buildAdminRedirectUrl(String url) { return UriComponentsBuilder.fromUriString(redirectUrlProperties.getUrl() + url).toUriString(); } @GetMapping public String index() { return "root/index"; } @GetMapping("/list") //applied at viewing /list public String inquiryList(Model model) { List<InquiryForm> items = repository.findAll(); model.addAttribute("items", items); return "root/list"; } @GetMapping("/form") public String form(InquiryForm inquiryForm) { return "root/form"; } @PostMapping("/form") //applied at viewing /form public String form(@Validated InquiryForm inquiryForm, BindingResult bindingResult, Model model) { if (bindingResult.hasErrors()) { return "root/form"; } repository.save(inquiryForm); model.addAttribute("message", "お問い合わせを受け付けました。"); return "root/form"; } @GetMapping("{id}/edit") //applied at id# public String edit(@PathVariable Long id, Model model) { InquiryForm inquiryform = repository.findById(id).get(); model.addAttribute("inquiryform", inquiryform); return "root/edit"; } // @Data annotation for InquiryForm class makes getter and setter // STS says setId is undefined, but it works fine @PutMapping("{id}") public ModelAndView update(@PathVariable Long id, @ModelAttribute InquiryForm inquiryform) { inquiryform.setId(id); * repository.save(inquiryform); return new ModelAndView("redirect:" + buildAdminRedirectUrl("/list")); } @DeleteMapping("{id}") public ModelAndView destroy(@PathVariable Long id) { repository.deleteById(id); return new ModelAndView("redirect:" + buildAdminRedirectUrl("/list")); } }

Java

public class ModelAndView { @Nullable private Object view; @Nullable private ModelMap model; @Nullable private HttpStatus status; private boolean cleared = false; public ModelAndView() { } public ModelAndView(String viewName) { this.view = viewName; } public ModelAndView(View view) { this.view = view; } public ModelAndView(String viewName, @Nullable Map<String, ?> model) { this.view = viewName; if (model != null) { getModelMap().addAllAttributes(model); } } public ModelAndView(View view, @Nullable Map<String, ?> model) { this.view = view; if (model != null) { getModelMap().addAllAttributes(model); } } public ModelAndView(String viewName, HttpStatus status) { this.view = viewName; this.status = status; } public ModelAndView(@Nullable String viewName, @Nullable Map<String, ?> model, @Nullable HttpStatus status) { this.view = viewName; if (model != null) { getModelMap().addAllAttributes(model); } this.status = status; } public ModelAndView(String viewName, String modelName, Object modelObject) { this.view = viewName; addObject(modelName, modelObject); } public ModelAndView(View view, String modelName, Object modelObject) { this.view = view; addObject(modelName, modelObject); } public void setViewName(@Nullable String viewName) { this.view = viewName; } @Nullable public String getViewName() { return (this.view instanceof String ? (String) this.view : null); } public void setView(@Nullable View view) { this.view = view; } @Nullable public View getView() { return (this.view instanceof View ? (View) this.view : null); } public boolean hasView() { return (this.view != null); } public boolean isReference() { return (this.view instanceof String); } @Nullable protected Map<String, Object> getModelInternal() { return this.model; } public ModelMap getModelMap() { if (this.model == null) { this.model = new ModelMap(); } return this.model; } public Map<String, Object> getModel() { return getModelMap(); } public void setStatus(@Nullable HttpStatus status) { this.status = status; } @Nullable public HttpStatus getStatus() { return this.status; } public ModelAndView addObject(String attributeName, @Nullable Object attributeValue) { getModelMap().addAttribute(attributeName, attributeValue); return this; } public ModelAndView addObject(Object attributeValue) { getModelMap().addAttribute(attributeValue); return this; } public ModelAndView addAllObjects(@Nullable Map<String, ?> modelMap) { getModelMap().addAllAttributes(modelMap); return this; } public void clear() { this.view = null; this.model = null; this.cleared = true; } public boolean isEmpty() { return (this.view == null && CollectionUtils.isEmpty(this.model)); } public boolean wasCleared() { return (this.cleared && isEmpty()); } @Override public String toString() { return "ModelAndView [view=" + formatView() + "; model=" + this.model + "]"; } private String formatView() { return isReference() ? "\"" + this.view + "\"" : "[" + this.view + "]"; } }

試したこと

デバッグ時の「ソースが見つかりませんでした」の対処法を参考に、上記の「ソース・ルックバック・パスの編集」からJavaアプリ全体を追加しましたが、同じエラーが出てきます。

追加後の編集画面はこうなってます。

app

java - /app/src/main
resources - /app/src/main
java - /app/src/test
annotations - /app/target/generated-sources
test-annotations - /app/target/generated-test-sources

デフォルト

app

spring-boot-starter-thymeleaf
spring-boot-starter
spring-boot-starter-logging

などが出てきます。

補足情報(FW/ツールのバージョンなど)

SpringToolSuite4
java 11.0.15 2022-04-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.15+8-LTS-149)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.15+8-LTS-149, mixed mode)

よろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。