Mavenを使用したことがないので、指示に従います こちら コマンドを実行するとき
mvn integration-test -Pamp-to-war
最初に、大量の依存関係をダウンロードしましたが、最終的には、
COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
私はubuntu 13.04にいます。
あなたが私に伝えたいことがあるなら、私に知らせてください。ありがとう。
編集
echo $Java_HOME
を実行すると、/usr/lib/jvm/Java-7-openjdk-i386/
を取得します
mvn -version
するとき
ええ、
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/Java-7-openjdk-i386/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-26-generic", Arch: "i386", family: "unix"
また、私は この問題は他の誰かが直面している を見つけました。しかし、指定されたソリューションをどのように実行するのかわかりませんか?
さらに編集します。
kraken@kraken-Inspiron-1545:/usr/lib/jvm/Java-7-openjdk-i386$ ls -l
total 12
drwxr-xr-x 2 root root 4096 Sep 9 10:44 bin
lrwxrwxrwx 1 root root 41 Jul 4 2013 docs -> ../../../share/doc/openjdk-7-jre- headless
drwxr-xr-x 5 root root 4096 Oct 13 2013 jre
drwxr-xr-x 4 root root 4096 Oct 13 2013 man
どうやら、私の$ Java_HOMEのlibフォルダー内にtools.jarファイルが必要です。 libフォルダーがなかったため、コマンドを使用してjdkを再インストールしました
apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib
Java 8(ubuntu 16.04)で同じ問題に直面し、mvn
コマンドラインを使用してコンパイルしようとしました。
$Java_HOME
、Java -version
、mvn -version
を確認しました。すべてが/usr/lib/jvm/Java-8-openjdk-AMD64
を指して大丈夫のようです。
Java-8-openjdk-AMD64はデフォルトでは完全にインストールされておらず、JREのみを含んでいるようです(「jdk」という名前にもかかわらず)。
JDKを再インストールするとうまくいきました。
Sudo apt-get install openjdk-8-jdk
その後、いくつかの新しいファイルと新しいフォルダーが/usr/lib/jvm/Java-8-openjdk-AMD64
に追加され、mvnが再びコンパイルできるようになります。
これは、jdkではなくjreを実行しているためです。jdkをインストールするには、以下の手順に従ってください。
Amazon linux/redhatにJava 8をインストール
-> yum search Java | grep openjdk
-> yum install Java-1.8.0-openjdk-headless.x86_64
-> yum install Java-1.8.0-openjdk-devel.x86_64
-> update-alternatives --config Java #pick Java 1.8
を押して1
-> update-alternatives --config javac #pick Java 1.8
を押して2
ありがとうございました
私にとっては、次のように機能しました。 JREまたはJDKを指しているかどうかにかかわらず、Java_HOME環境変数を確認してください。 JREを指している場合は、「おそらく、JDKではなくJREで実行している」という問題に直面します。その場合、パスをJDKに変更します。
このように変更して、それは私のために働いた。
Java_HOME C:\ Program Files\Java\jdk1.8.0_31
この構成をpom.xmlに追加します
<project ...>
...
<build>
...
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
セットアップする場所の詳細を追加するだけです。主な理由は、環境変数のJava_HOMEセットアップが正しいJDKロケーションを指している必要があることです。
- システムの確認->システムの詳細設定
- 環境変数をクリックします
- 変数Java_HOMEを追加-> "C:\ Program Files\Java\jdk1.8.0_141;"
- 「パス」を編集->%Java_HOME%を追加します。既存のテキストに。
これは私の問題を修正した方法です
プロジェクトの右クリック>プロパティ> Javaコンパイラー(使用しているものを選択してください)
私にとっては1.5でしたが、1.8がインストールされています。だから私はそれを1.8に変更しました..そしてそれがうまくいった!.
問題文 =この環境ではコンパイラは提供されていません。おそらく、JDKではなくJREで実行していますか?
ソリューション
問題を解決するには、以下のように環境変数を設定してください
変数名:Java_HOME
変数値:C:\ Program Files\Java\jdk1.8.0_202
変数名:M2_HOME
変数値:C:\ Program Files\Apache-maven-3.6.0
さらに、「System Variables」にJavaとmavenパスを追加します。
私はcentos
を使用しており、mvn
コマンドをゴール、install
で実行すると同じエラーが発生します。いくつかのグーグルの後、私は次のコマンドを実行するソリューションを見つけました。
Sudo yum install Java-1.8.0-openjdk-devel
/ usr/binに「javac」があるかどうかを確認します。 JREをインストールしておらず、「Java-1.8.0-openjdk-devel.x86_64」のようなjdk devバージョンをインストールする必要がある場合
プロジェクトフォルダー(Mavenの1つ)を右クリックし、プロパティを選択して、プロパティウィンドウから再度[Java Compiler]を選択し、コンパイラー準拠レベルに対して選択されているものを確認し、jreと同じバージョンであることを確認します。私の場合は1.8でしたが、コンパイラー準拠レベルに対して1.5が選択されました。 1.8を選択した後、ビルドはこのエラーなしで成功しました。
Eclipse mavenプロジェクトで同じ問題に直面していました。
プロジェクトを右クリック
maven-> プロジェクトの更新
または単にALT + F5を押す
Java_HOMEがJDKを指していても、問題に直面しました。例外がスローされた理由を理解するのに時間がかかりました。
問題は、ウィンドウマシンでJava_HOMEを管理ユーザーとして設定したことです。正しいJDKを指すJava_HOME環境変数をユーザープロファイル環境変数設定に追加する必要があります。
同じエラーが発生し、ユーザー変数:Java_HOMEおよびSDKの値が欠落していました-私の場合は「C:\ Program Files\Java\jdk-9.0.1」
AWS Linux AMIにJava-1.8.0-openjdk
パッケージをインストールした後、同じ問題が発生しました。私が作った誤った仮定は、ファイルがopenjdkで終わっているため、jdkバージョンになるというものでした。これはそうではありません。
openjdkインストールページ は、すべてを明確に説明しています。
Java-1.8.0-openjdkパッケージには、Java Runtime Environmentのみが含まれています。 Javaプログラムを開発する場合は、Java-1.8.0-openjdk-develパッケージをインストールします。
すでにJava-1.8.0-openjdkパッケージをインストールしている場合、JREで機能している場合はそれとJava_HOME値をそのままにして、yum install Java-1.8.0-openjdk-devel -y
を使用してJava-1.8.0-openjdk-develパッケージをインストールします。
私は同じ問題に直面していました。解決するために、PATHでJREの前にJDKを配置する必要がありました。
Linuxでの問題を解決するには、JDKがないため、JDKをダウンロードしてLinuxサーバーにアップロードし、次のように入力します。tar xvf jdk-8u45-linux-x64.tar.gz