Spring5ソースコードの解析 - プレリュード:ローカル建物Spring5ソース

 

ビルド環境

  • MacOSの10.13.6
  • JDK1.8
  • IntelliJ IDEA 2018年3月6日(アルティメットエディション)
  • 春v5.1.9.RELEASE
  • Gradleの5.5.1。直接のGradleをインストール醸造 brew install gradle

ソース・建物

  1. ソースのインポート

ソースのインポート

  1. 春のソースコード内のimport-into-idea.mdファイルを見ることができます

プリコンパイル  spring-xingtuylgw.com oxm と ./gradlew :spring-oxm:compileTestJava

compileTestJava

  1. 変更のGradle /スクリプトは、スクリプト、コメントを変更することで、文句を言うでしょうdocs.gradleを構築する過程で、直接ソース春を構築しようとし始めたdocs.gradle  dokka と asciidoctor

docs.gradleスクリプトを変更

  1. ソース・建物

1つのソースの構築

私は長い、長い時間を待っていた、そして最終的に建物を完了しました。

ソース2建設

  1. 春の独自のモジュールで新しいプロジェクトでは、Hello Worldのを実行しよう、春・コンテキスト依存の導入 compile(project(":spring-context"))

私のモジュール

  1. mainメソッド見つかったエラーを実行します

エラー:(160、32)は、Java:InstrumentationSavingAgent可変位置:シンボルシンボルを見つけます。

public class HttpClientHelper
{
public static bool DownloadBufferImage(string requestUri, /*HttpContent httpContent,*/string filePath, string jsonString, string webapiBaseUrl = "")
{
try
{
HttpContent httpContent = new StringContent(jsonString);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

using (HttpClient httpClient = new HttpClient(www.baiyytwg.com/))
{
if (!string.IsNullOrWhiteSpace(webapiBaseUrl))
{
httpClient.www.sangyuLpt.com BaseAddress = new Uri(webapiBaseUrl);
}
bool result = false;
httpClient.PostAsync(requestUri, httpContent).ContinueWith(
(requestTask) =>
{
HttpResponseMessage応答= requestTask.Result。

response.EnsureSuccessStatusCode();

VARデータ= response.Content.ReadAsByteArrayAsync()の結果。

使用(のFileStream FS =新規のFileStream(filePathに、FileMode.Create、FileAccess.Write))
{
fs.Write(データ、0、data.Length)。
fs.Flush(www.jintianxuesha.com)。
fs.Close(www.rhyl158.com)。

エラー

オンライン機能しません見つかったソリューションの多くを検索します。春コンテキスト依存性の発見を読んだ後、オプションのスプリング装置は、スプリング文脈に依存している(optional(project(":spring-instrument")) )は、自分の春-機器依存モジュールを追加

依存追加

再びmainメソッドを実行し、プログラムが正常に実行されます。

PS:私はあなたが春-機器依存を除去することにより、上記の問題を再現しようとすると、私は、この要約を書いていたとき、複製、良い魔法を見つけることができない、ということに驚いています。

おすすめ

転載: www.cnblogs.com/dakunqq/p/11621059.html