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

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

新規登録して質問してみよう
ただいま回答率
85.35%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Q&A

解決済

1回答

8075閲覧

gradle build実行時のエラー(Could not find tools.jar.)解消方法

退会済みユーザー

退会済みユーザー

総合スコア0

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

0グッド

0クリップ

投稿2021/12/04 20:11

編集2021/12/05 05:17

前提・実現したいこと

WSL上にjavaとgradleをインストールをして、javaのプロジェクトを作成して開発をしています。
インストール自体はできたのですが、build(gradle build)を実施するとCould not find tools.jar.になってしまうのでこのエラーを解消(BUILD SUCCESSFULに)したいです。

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

エラーメッセージ > Task :lib:compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':lib:compileJava'. > Could not find tools.jar. Please check that /usr/lib/jvm/java-8-openjdk-amd64 contains a valid JDK installation. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. See https://docs.gradle.org/7.3/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 3s 1 actionable task: 1 executed

build.gradle

plugins { id 'java' id 'eclipse' id 'application' } sourceCompatibility = '1.8' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' repositories { jcenter() mavenCentral() } mainClassName = "searchfile.Main" jar { manifest { attributes 'Main-Class': 'searchfile.Main' } } dependencies { testImplementation 'junit:junit:4.13' implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.7' implementation 'com.google.guava:guava:29.0-jre' implementation(fileTree(dir: '../../libs', include: ['*.jar'])) compileOnly "org.projectlombok:lombok:1.18.20" annotationProcessor 'org.projectlombok:lombok:1.18.20' }

試したこと

1:qiitaの記事を参考にtools.jarを落として以下のどちらかに配置する。
qiita記事
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib
/usr/lib/jvm/java-8-openjdk-amd64
gradle clean と gradle buildの実施
⇒jdkのバージョンは8なので意味がない???

2:stackoverflowを参考にgradle.propertiesを作成。
stackoverflow
配置場所:"プロジェクト名"/.gradle/gradle.properties
######gradle.properties

org.gradle.warning.mode=all org.gradle.java.home=/usr/lib/jvm/default-java/

gradle clean と gradle buildの実施
⇒配置場所が違う???
###JDKバージョン

- openjdk version "1.8.0_292" - OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) - OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

###Gradleのバージョン

------------------------------------------------------------ Gradle 7.3 ------------------------------------------------------------ Build time: 2021-11-09 20:40:36 UTC Revision: 96754b8c44399658178a768ac764d727c2addb37 Kotlin: 1.5.31 Groovy: 3.0.9 Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021 JVM: 1.8.0_292 (Private Build 25.292-b10) OS: Linux 5.10.16.3-microsoft-standard-WSL2 amd64

###Ubuntuバージョン

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

解決しました。

jdkのインストールを以下のコマンド

sudo apt install openjdk-"任意のバージョン"-jre-headless sudo apt install openjdk-8-jre-headless (java 8の場合)

または、以下のコマンドで実施していましたが、

sudo apt-get install openjdk-"任意のバージョン"-jdk sudo apt-get install openjdk-"任意のバージョン"-jre sudo apt-get install openjdk-8-jdk(java 8の場合) sudo apt-get install openjdk-8-jre(java 8の場合)

上記でインストールすると
/usr/lib/jvm/java-8-openjdk-amd64
直下にlibディレクトリがない状態でインストールされていました。

なので、以下からlinux用のjdkをダウンロードし、

jdkのダウンロードurl

任意の場所にダウンロードしたファイルを格納して、解凍実施しました。

cp "ダウンロードしたファイル名" "任意のディレクトリ" sudo cp openjdk-8u41.tar.gz /usr/lib/jvm (自分の場合) または mv "ダウンロードしたファイル名" "任意のディレクトリ" sudo mv openjdk-8u41.tar.gz /usr/lib/jvm (自分の場合) tar zxvf "ダウンロードしたファイル名" tar zxvf openjdk-8u41.tar.gz (自分の場合) ※ダウンロード時にファイル名を変更

また、このlibディレクトリの中にtools.jarが入っていました。

以下のようなディレクトリとなっています。

/usr/lib/jvm (jdkインストール場所) /usr/lib/jvm$ ls java-se-8u41-ri openjdk-8u41.tar.gz /usr/lib/jvm/java-se-8u41-ri (ダウンロードフォルダを解凍するとできる) /usr/lib/jvm$ cd java-se-8u41-ri /usr/lib/jvm/java-se-8u41-ri$ ls ADDITIONAL_LICENSE_INFO LICENSE bin include lib release src.zip ASSEMBLY_EXCEPTION THIRD_PARTY_README demo jre man sample /usr/lib/jvm/java-se-8u41-ri/lib (tools.jarがあるディレクトリ) /usr/lib/jvm/java-se-8u41-ri$ cd lib /usr/lib/jvm/java-se-8u41-ri/lib$ ls amd64 ct.sym dt.jar ir.idl jconsole.jar jexec orb.idl sa-jdi.jar tools.jar

別途環境変数の修正が必要になるので以下のサイトを参考に修正しています。

WSL Ubuntu18.04にJavaをインストールする (qita記事)

Ubuntu18.04にJavaを導入する方法(JREやJDKの違いについても解説)(侍エンジニア記事)

その他、以下の記事なども参考にしました。
Linux(CentOS7)にJava(jdk1.8)を手動でインストールする手順(qita記事)

ゼロからVSCode+WSL+Java+Gradle環境を構築する(qita記事)

Gradleのインストールでパスの設定にコケた原因はこれだった(qita記事)

投稿2021/12/07 17:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問